Hi Nicolin,
On 07/25/2014 11:24 AM, Nicolin Chen wrote:
Hi Varka,
Regarding a point you suggested.
On Fri, Jul 25, 2014 at 09:54:43AM +0530, Varka Bhadram wrote:
On 07/25/2014 09:33 AM, Nicolin Chen wrote: (...)
+static const struct platform_device_id fsl_asrc_devtype[] = {
- {
.name = "imx35-asrc",
.driver_data = IMX35_ASRC,
- }, {
.name = "imx53-asrc",
.driver_data = IMX53_ASRC,
- }, {
/* sentinel */
- }
+}; +MODULE_DEVICE_TABLE(platform, fsl_asrc_devtype);
+static const struct of_device_id fsl_asrc_ids[] = {
- {
.compatible = "fsl,imx35-asrc",
.data = &fsl_asrc_devtype[IMX35_ASRC],
- }, {
.compatible = "fsl,imx53-asrc",
.data = &fsl_asrc_devtype[IMX53_ASRC],
- }, {
/* sentinel */
- }
+}; +MODULE_DEVICE_TABLE(of, fsl_asrc_ids);
move these ids after probe/remove... every driver follows same thing...
Hmm.. fsl_asrc_ids is called in probe(), so it's probably not a good choice to put them after probe/remove. And actually not every driver does so. For example drivers/i2c/busses/i2c-s3c2410.c
I think it should be okay to put here if it contains data.
You are using these ids in the probe .Tt should be above the probe() so we can see of_match_device() directly... and also one more thing that the interrupt handler also would be immediately above the probe()
ex: static irqreturn_t fsl_asrc_isr(int irq, void *dev_id) { ... }
device ids..
your_probe() { ... }
your_remove() { ... }
Now every driver that is coming following this style...
If your not using device ids in probe then it would be like
static irqreturn_t fsl_asrc_isr(int irq, void *dev_id) { ... }
your_probe() { ... }
your_remove() { ... }
device ids..
Thanks...