Re: [PATCH 7/7] OF/ACPI/I2C: Add generic match function for the aforementioned systems
From: Mark Brown
Date: Fri Jun 06 2014 - 06:27:02 EST
On Thu, Jun 05, 2014 at 04:55:09PM +0100, Lee Jones wrote:
> On Thu, 05 Jun 2014, Grant Likely wrote:
> > I still think the way to do it is to emulate the missing i2c_device_id
> > when calling the drivers .probe() hook by having a temporary copy on
> > the stack and filling it with data from the OF or ACPI table....
> That's the opposite of what I'm trying to achieve. I'm trying to get
> rid of unused i2c_device_id tables, rather than reinforce their
> mandatory existence. I think an i2c_of_match_device() with knowledge
> of how to match via pure DT principles (of_node/compatible) and a
> fall-back, which is able to match on a provided of_device_id table
> alone i.e. without the requirement of an existing of_node.
> I've also been mulling over the idea of removing the second probe()
> parameter, as suggested by Wolfram. However, this has quite deep
> ramifications which would require a great deal of driver adaptions.
If you're going to do that another option is to refactor the probe()
function to take the driver_data as an argument and then have the core
pass that from whatever table it matched from rather than the entire
i2c_device_id structure. That way the driver just needs to supply all
the ID tables mapping binding information to whatever it needs and the
core can pass in the driver data from whatever table it matched against.
Attachment:
signature.asc
Description: Digital signature