Messages in this thread | | | Date | Fri, 23 Nov 2012 18:09:23 +0530 | Subject | Re: [PATCH V2 2/2] mfd: stmpe: Extend DT support in stmpe driver | From | Viresh Kumar <> |
| |
On 23 November 2012 15:06, Lee Jones <lee.jones@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
| |