linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: rafael@kernel.org
Cc: linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org,
	alexander.shishkin@linux.intel.com, wsa@the-dreams.de,
	jic23@kernel.org, knaack.h@gmx.de, grygorii.strashko@ti.com,
	davem@davemloft.net, bhelgaas@google.com, sebott@linux.ibm.com,
	oberpar@linux.ibm.com, freude@linux.ibm.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, andreas.noever@gmail.com,
	michael.jamet@intel.com, balbi@kernel.org,
	david.kershner@unisys.com
Subject: Re: [RFC PATCH 27/57] drivers: Unify the match prototype for bus_find_device with class_find_device
Date: Tue, 4 Jun 2019 12:39:50 +0100	[thread overview]
Message-ID: <d51d8361-8807-5795-7da0-68c299217213@arm.com> (raw)
In-Reply-To: <CAJZ5v0ghb969phwKDJd_hJV6mBm0_B8R9Lrk8RG3Tu9ieO69OQ@mail.gmail.com>



On 04/06/2019 12:26, Rafael J. Wysocki wrote:
> On Mon, Jun 3, 2019 at 5:51 PM Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>>
>> We have iterators for devices by bus and class, with a supplied
>> "match" function to do the comparison. However, both of the helper
>> function have slightly different prototype for the "match" argument.
>>
>>   int (*) (struct device *dev, void *data)  // bus_find_device
>>    vs
>>   int (*) (struct device *dev, const void *data) // class_find_device
>>
>> Unify the prototype by promoting the match function to use that of
>> the class_find_device(). This will allow us to share the generic
>> match helpers with class_find_device() users.
> 
> The patch looks good to me, but the changelog might be a bit better.
> 
> It seems to be all about the bus_find_device() and class_find_device()
> prototype consolidation, so that the same pair of data and match()
> arguments can be passed to both of them, which then will allow some
> optimizations to be made, so what about the following:
> 
> "There is an arbitrary difference between the prototypes of
> bus_find_device() and class_find_device() preventing their callers
> from passing the same pair of data and match() arguments to both of
> them, which is the const qualifier used in the prototype of
> class_find_device().  If that qualifier is also used in the
> bus_find_device() prototype, it will be possible to pass the same
> match() callback function to both bus_find_device() and
> class_find_device(), which will allow some optimizations to be made in
> order to avoid code duplication going forward.
> 
> For this reason, change the prototype of bus_find_device() to match
> the prototype of class_find_device() and adjust its callers to use the
> const qualifier in accordance with the new prototype of it.".

Agreed, I will reword the description.

> 
> Also, it looks like there is no need to make all of the following
> changes in the series along with this one in one go and making them
> separately would be *much* better from the patch review perspective.

Sure. I started with the helpers in the hope that, I would need fewer
changes to individual subsystems, once I convert them to use the
new helpers.

i.e, driver A -> use new helper and the change the new helper.

rather than

change all callers of *_find_device() and then all to switch to new helper.

Anyways, looks like the latter is better in terms of splitting the series.
I will rework the series.

Thanks a lot for your input

Cheers
Suzuki


  reply	other threads:[~2019-06-04 11:39 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1559577023-558-1-git-send-email-suzuki.poulose@arm.com>
2019-06-03 15:49 ` [RFC PATCH 01/57] drivers: s390/cio: Use driver_for_each_device Suzuki K Poulose
2019-06-14 13:32   ` Suzuki K Poulose
2019-06-17  9:21   ` Sebastian Ott
2019-06-03 15:49 ` [RFC PATCH 02/57] drivers: ipmi: Drop device reference Suzuki K Poulose
2019-06-03 17:01   ` Corey Minyard
2019-06-03 17:03     ` Suzuki K Poulose
2019-06-03 19:09   ` Greg KH
2019-06-03 19:59     ` Corey Minyard
2019-06-04  7:43       ` Greg KH
2019-06-03 15:49 ` [RFC PATCH 03/57] drivers: coresight: Drop device references found via bus_find_device Suzuki K Poulose
2019-06-03 19:08   ` Greg KH
2019-06-04  8:19     ` Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 04/57] drivers: Add generic match helper to match the device of_node Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 05/57] drm: mipi_dsi: Use bus_find_device_by_of_node() helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 06/57] drivers: i2c: i2c-core: Use bus_find_device_by_of_node helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 07/57] drivers: nvmem: " Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 08/57] drivers: spi: " Suzuki K Poulose
2019-06-03 16:04   ` Mark Brown
2019-06-03 15:49 ` [RFC PATCH 09/57] drivers: sound: rockchip: rk3399: " Suzuki K Poulose
2019-06-03 16:02   ` Mark Brown
2019-06-03 15:49 ` [RFC PATCH 10/57] drivers: coresight: " Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 11/57] of: mdio: " Suzuki K Poulose
2019-06-03 16:00   ` Andrew Lunn
2019-06-03 15:49 ` [RFC PATCH 12/57] of: platform: " Suzuki K Poulose
2019-06-10 20:44   ` Rob Herring
2019-06-03 15:49 ` [RFC PATCH 13/57] drivers: Add generic helper for matching device by fwnode Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 14/57] drivers: devcon: Use bus_find_device_by_fwnode helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 15/57] net: hisilicon: hnfs:Use " Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 16/57] net: hns_roce: Use " Suzuki K Poulose
2019-06-03 16:05   ` Jason Gunthorpe
2019-06-03 15:49 ` [RFC PATCH 17/57] drivers: Add generic match by device type helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 18/57] drivers: intel_th: Use bus_find_device_by_devt helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 19/57] drivers: usb: core: " Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 20/57] platform: Add a helper to find device by driver Suzuki K Poulose
2019-06-04 13:29   ` Heiko Stuebner
2019-06-04 13:31     ` Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 21/57] drivers: Add generic match helper by ACPI_COMPANION device Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 22/57] drivers: i2c: Use generic helper to match device by acpi_dev Suzuki K Poulose
2019-06-04  9:27   ` Mika Westerberg
2019-06-06 20:03   ` Wolfram Sang
2019-06-10 12:49     ` Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 23/57] drivers: spi: Use bus_find_device_by_acpi_dev match helper Suzuki K Poulose
2019-06-03 16:04   ` Mark Brown
2019-06-03 15:49 ` [RFC PATCH 24/57] drivers: staging: most-core: Use bus_find_device_by_name Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 25/57] drivers: Add generic match by name helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 26/57] drivers: acpi: Clean up acpi_dev_match_cb Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 27/57] drivers: Unify the match prototype for bus_find_device with class_find_device Suzuki K Poulose
2019-06-04  6:52   ` Harald Freudenberger
2019-06-04 11:26   ` Rafael J. Wysocki
2019-06-04 11:39     ` Suzuki K Poulose [this message]
2019-06-03 15:49 ` [RFC PATCH 28/57] drivers: class: Add variants of class_find_device() Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 29/57] drivers: stm: Use class_find_device_by_name() helper Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 30/57] drivers: leds: " Suzuki K Poulose
2019-06-04  8:35   ` Pavel Machek
2019-06-03 15:49 ` [RFC PATCH 31/57] drivers: rtc: " Suzuki K Poulose
2019-06-03 15:49 ` [RFC PATCH 32/57] drivers: s390-crypto: Use class_device_find_by_name() helper Suzuki K Poulose
2019-06-04  6:45   ` Harald Freudenberger
2019-06-03 15:49 ` [RFC PATCH 33/57] drivers: usb: Use class_find_device_by_name() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 34/57] drivers: ieee802154: " Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 35/57] drivers: core: Reuse generic match by device type helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 36/57] drivers: mei: Use class_find_device_by_devt match helper Suzuki K Poulose
2019-06-03 18:00   ` Winkler, Tomas
2019-06-04  8:27     ` Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 37/57] drivers: s390: zcrypt: Use class_find_device_by_devt helper Suzuki K Poulose
2019-06-04  6:47   ` Harald Freudenberger
2019-06-03 15:50 ` [RFC PATCH 38/57] drivers: fpga: Use generic helpers to match by of_node Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 39/57] drivers: mux: Use class_find_device_by_of_node helper Suzuki K Poulose
2019-06-03 16:22   ` Peter Rosin
2019-06-03 16:45     ` Suzuki K Poulose
2019-06-03 18:39       ` Peter Rosin
2019-06-03 15:50 ` [RFC PATCH 40/57] drivers: spi: " Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 41/57] drivers: net: phy: " Suzuki K Poulose
2019-06-03 16:02   ` Andrew Lunn
2019-06-03 15:50 ` [RFC PATCH 42/57] drivers: regulator: " Suzuki K Poulose
2019-06-03 16:04   ` Mark Brown
2019-06-03 15:50 ` [RFC PATCH 43/57] drivers: tty : " Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 44/57] drivers: usb : Use class_find_device_by_fwnode() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 45/57] drivers: driver_find_device: Unify the match function Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 46/57] driver: Add variants of driver_find_device() Suzuki K Poulose
2019-06-03 19:10   ` Greg KH
2019-06-04  8:45     ` Suzuki K Poulose
2019-06-04 10:55       ` Suzuki K Poulose
2019-06-04 11:32         ` Greg KH
2019-06-04 11:44           ` Suzuki K Poulose
2019-06-04 11:33         ` Rafael J. Wysocki
2019-06-03 19:11   ` Greg KH
2019-06-04  8:36     ` Suzuki K Poulose
2019-06-04  8:46       ` Greg KH
2019-06-03 19:12   ` Greg KH
2019-06-04  8:33     ` Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 47/57] drivers: mfd: Use driver_find_device_by_name helper Suzuki K Poulose
2019-06-04  9:45   ` Arnd Bergmann
2019-06-04 11:42     ` Suzuki K Poulose
2019-06-04 11:47       ` Arnd Bergmann
2019-06-03 15:50 ` [RFC PATCH 48/57] drivers: s390: cio: Use driver_find_by_name() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 49/57] drivers: mfd: altera: Use driver_find_device_by_of_node() helper Suzuki K Poulose
2019-06-04 16:13   ` Thor Thayer
2019-06-03 15:50 ` [RFC PATCH 50/57] drivers: iommu: arm-smmu: Use driver_find_device_by_fwnode() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 51/57] drivers: Add generic helper to match all devices Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 52/57] drivers: tegra: Use driver_find_device_by_of_node() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 53/57] drivers: Introduce bus_find_next_device() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 54/57] drivers: pci: Use " Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 55/57] drivers: scsi: " Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 56/57] drivers: Introduce driver_find_next_device() helper Suzuki K Poulose
2019-06-03 15:50 ` [RFC PATCH 57/57] drivers: i2c-amd: Use " Suzuki K Poulose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d51d8361-8807-5795-7da0-68c299217213@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andreas.noever@gmail.com \
    --cc=balbi@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=davem@davemloft.net \
    --cc=david.kershner@unisys.com \
    --cc=freude@linux.ibm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=grygorii.strashko@ti.com \
    --cc=jejb@linux.ibm.com \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=michael.jamet@intel.com \
    --cc=oberpar@linux.ibm.com \
    --cc=rafael@kernel.org \
    --cc=sebott@linux.ibm.com \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).