[PATCH V2 2/2] mfd: stmpe: Extend DT support in stmpe driver
Viresh Kumar
viresh.kumar at linaro.org
Fri Nov 23 23:39:23 EST 2012
On 23 November 2012 15:06, Lee Jones <lee.jones at linaro.org> wrote:
> On Fri, 23 Nov 2012, Viresh Kumar wrote:
>> pdev = platform_device_alloc(cell->name, id + cell->id);
>>
>> This is required when we have multiple instances of MFD device present
>> on board. How do you want me to handle this ?
>
> There are lots of examples of this already. I have to leave something
> to the imagination, or I'll be requesting a cut of your salary. :D
My manager already reduced my salary by 20% after reading this mail :(
Ok, this is what my understanding of whole this is. Platform devices are
named like:
- pdev-name: if id passed in pdev.id is -1
- pdev-name.0[1|2|...]: if id passed is 0[1|2|...]
- pdev-name.<dynamically allocated by kernel>: if id passed is -2
Now, we don't declare cell->id fields and they are currently zero and so
value is passed from pdata->id field. So, for example with multiple instances
of stmpe on a board, we have:
- stmpe-0: //Name just for reference...
- stmpe-gpio.0
- stmpe-ts.0
- stmpe-1:
- stmpe-gpio.1
- stmpe-ts.1
- stmpe-2:
- stmpe-gpio.2
- stmpe-ts.2
I main idea is to distinguish various instances of sub modules, like stmpe-gpio.
And this works well with non-DT support we have currently.
With DT, i am not sure how should we pass id field to mfd_add_devices(). If
we pass it -1, then multiple instances will have same name: "stmpe-gpio"
Sorry, for my lack of knowledge. Don't send another mail with salary cut
suggestion as that will make it -40% in total ;)
Thanks for reviewing :)
--
viresh
More information about the devicetree-discuss
mailing list