Messages in this thread | | | Date | Tue, 14 Jul 2015 23:52:41 +0200 | From | Alexandre Belloni <> | Subject | Re: [rtc-linux] [PATCH v4 4/7] rtc: mxc: add support of device tree |
| |
On 04/07/2015 at 01:15:17 +0200, Philippe Reynes wrote : > Add device tree support for the mxc rtc driver. > > Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> > Signed-off-by: Philippe Reynes <tremyfr@gmail.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
That patch should go after 5/7 to avoid a checkpatch warning.
> --- > drivers/rtc/rtc-mxc.c | 19 ++++++++++++++++++- > 1 files changed, 18 insertions(+), 1 deletions(-) > > diff --git a/drivers/rtc/rtc-mxc.c b/drivers/rtc/rtc-mxc.c > index 4ce7e21..4191a87 100644 > --- a/drivers/rtc/rtc-mxc.c > +++ b/drivers/rtc/rtc-mxc.c > @@ -16,6 +16,8 @@ > #include <linux/interrupt.h> > #include <linux/platform_device.h> > #include <linux/clk.h> > +#include <linux/of.h> > +#include <linux/of_device.h> > > #define RTC_INPUT_CLK_32768HZ (0x00 << 5) > #define RTC_INPUT_CLK_32000HZ (0x01 << 5) > @@ -98,6 +100,15 @@ static const struct platform_device_id imx_rtc_devtype[] = { > }; > MODULE_DEVICE_TABLE(platform, imx_rtc_devtype); > > +#ifdef CONFIG_OF > +static const struct of_device_id imx_rtc_dt_ids[] = { > + { .compatible = "fsl,imx1-rtc", .data = (const void *)IMX1_RTC }, > + { .compatible = "fsl,imx21-rtc", .data = (const void *)IMX21_RTC }, > + {} > +}; > +MODULE_DEVICE_TABLE(of, imx_rtc_dt_ids); > +#endif > + > static inline int is_imx1_rtc(struct rtc_plat_data *data) > { > return data->devtype == IMX1_RTC; > @@ -362,12 +373,17 @@ static int mxc_rtc_probe(struct platform_device *pdev) > u32 reg; > unsigned long rate; > int ret; > + const struct of_device_id *of_id; > > pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); > if (!pdata) > return -ENOMEM; > > - pdata->devtype = pdev->id_entry->driver_data; > + of_id = of_match_device(imx_rtc_dt_ids, &pdev->dev); > + if (of_id) > + pdata->devtype = (enum imx_rtc_type)of_id->data; > + else > + pdata->devtype = pdev->id_entry->driver_data; > > res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > pdata->ioaddr = devm_ioremap_resource(&pdev->dev, res); > @@ -488,6 +504,7 @@ static SIMPLE_DEV_PM_OPS(mxc_rtc_pm_ops, mxc_rtc_suspend, mxc_rtc_resume); > static struct platform_driver mxc_rtc_driver = { > .driver = { > .name = "mxc_rtc", > + .of_match_table = of_match_ptr(imx_rtc_dt_ids), > .pm = &mxc_rtc_pm_ops, > }, > .id_table = imx_rtc_devtype, > -- > 1.7.4.4 > > -- > -- > You received this message because you are subscribed to "rtc-linux". > Membership options at http://groups.google.com/group/rtc-linux . > Please read http://groups.google.com/group/rtc-linux/web/checklist > before submitting a driver. > --- > You received this message because you are subscribed to the Google Groups "rtc-linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.
-- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
| |