[PATCH v3 0/7] drivers: Add generic device lookup helpers
Greg KH
gregkh at linuxfoundation.org
Tue Jul 30 11:56:43 UTC 2019
On Tue, Jul 23, 2019 at 11:18:31PM +0100, Suzuki K Poulose wrote:
> We have device iterators to find a particular device matching a criteria
> for a given bus/class/driver. i.e, {bus,class,driver}_find_device()
> APIs. The matching criteria is a function pointer for the APIs. Often the
> lookup is based on a generic property of a device (e.g, name, fwnode, of node
> pointer or device type) rather than a driver specific information. However, each
> driver writes up its own "match" function, spilling the similar match functions
> all over the driver subsystems.
>
> This series adds device match helpers by generic device properties of a device.
> Using these generic match functions, introduce wrappers to the existing
> *_find_device() helpers and converts the existing users to use the new wrappers.
> i.e,
> {bus/class/driver}_find_device_by_name()
> {bus/class/driver}_find_device_by_fwnode()
> {bus/class/driver}_find_device_by_devt()
> {bus/class/driver}_find_device_by_acpi_dev()
>
> Also adds a wrapper for finding a platform device by driver, to avoid
> spilling the platform_bus internals in the individual drivers. Applies
> on 5.3-rc1.
>
> [0] git://linux-arm.org/linux-skp.git driver-cleanup/v3
> RFC[1] https://marc.info/?i=1559577023-558-1-git-send-email-suzuki.poulose@arm.com
> V1 [2] https://marc.info/?i=1559747630-28065-1-git-send-email-suzuki.poulose@arm.com
> V2 [3] https://marc.info/?i=1560534863-15115-1-git-send-email-suzuki.poulose@arm.com
There is now a persistent tag/branch in my driver-core tree for any
subsystem that wants to pull this tree in to make it easier for merges:
The following changes since commit 5f9e832c137075045d15cd6899ab0505cfb2ca4b:
Linus 5.3-rc1 (2019-07-21 14:05:38 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git tags/generic_lookup_helpers
for you to fetch changes up to 36f3313d6bff91ab2a9e47698c27d15363640a4e:
platform: Add platform_find_device_by_driver() helper (2019-07-30 13:07:42 +0200)
----------------------------------------------------------------
Generic Device Lookup Helpers
Persistent tag for others to pull this branch from
Based on patch series from Suzuki K Poulose <suzuki.poulose at arm.com>
with Subject: [PATCH v3 0/7] drivers: Add generic device lookup helpers
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
----------------------------------------------------------------
Suzuki K Poulose (7):
drivers: Introduce device lookup variants by name
drivers: Introduce device lookup variants by of_node
drivers: Introduce device lookup variants by fwnode
drivers: Introduce device lookup variants by device type
drivers: Introduce device lookup variants by ACPI_COMPANION device
drivers: Add generic helper to match any device
platform: Add platform_find_device_by_driver() helper
drivers/amba/tegra-ahb.c | 11 +-
drivers/base/bus.c | 24 ---
drivers/base/core.c | 39 +++-
drivers/base/devcon.c | 8 +-
drivers/base/platform.c | 14 ++
drivers/fpga/fpga-bridge.c | 8 +-
drivers/fpga/fpga-mgr.c | 8 +-
drivers/gpu/drm/drm_mipi_dsi.c | 7 +-
drivers/gpu/drm/exynos/exynos_drm_drv.c | 9 +-
drivers/gpu/drm/mcde/mcde_drv.c | 3 +-
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 3 +-
drivers/gpu/drm/vc4/vc4_drv.c | 3 +-
drivers/hwtracing/coresight/coresight-platform.c | 11 +-
drivers/hwtracing/coresight/coresight-priv.h | 2 -
drivers/hwtracing/coresight/coresight.c | 4 +-
drivers/hwtracing/intel_th/core.c | 10 +-
drivers/hwtracing/stm/core.c | 9 +-
drivers/i2c/busses/i2c-amd-mp2-pci.c | 8 +-
drivers/i2c/i2c-core-acpi.c | 11 +-
drivers/i2c/i2c-core-of.c | 7 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 8 +-
drivers/iommu/arm-smmu-v3.c | 9 +-
drivers/iommu/arm-smmu.c | 9 +-
drivers/leds/led-class.c | 9 +-
drivers/mfd/altera-sysmgr.c | 14 +-
drivers/misc/mei/main.c | 9 +-
drivers/mux/core.c | 7 +-
drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c | 8 +-
drivers/net/phy/mdio_bus.c | 9 +-
drivers/nvmem/core.c | 7 +-
drivers/of/of_mdio.c | 8 +-
drivers/of/platform.c | 7 +-
drivers/pci/probe.c | 7 +-
drivers/regulator/of_regulator.c | 7 +-
drivers/rtc/interface.c | 11 +-
drivers/s390/cio/ccwgroup.c | 18 +-
drivers/s390/cio/device.c | 15 +-
drivers/s390/crypto/zcrypt_api.c | 22 +-
drivers/scsi/scsi_proc.c | 9 +-
drivers/spi/spi.c | 28 +--
drivers/tty/tty_io.c | 8 +-
drivers/usb/core/devio.c | 8 +-
drivers/usb/roles/class.c | 16 +-
drivers/usb/typec/class.c | 16 +-
include/linux/device.h | 237 ++++++++++++++++++++-
include/linux/platform_device.h | 3 +
net/ieee802154/core.c | 7 +-
sound/soc/rockchip/rk3399_gru_sound.c | 9 +-
48 files changed, 341 insertions(+), 383 deletions(-)
More information about the dri-devel
mailing list