RE: [PATCH v3] rtc: add devm_rtc_device_{register,unregister}()

From: Venu Byravarasu
Date: Wed Mar 06 2013 - 01:19:18 EST


> -----Original Message-----
> From: Jingoo Han [mailto:jg1.han@xxxxxxxxxxx]
> Sent: Wednesday, March 06, 2013 11:43 AM
> To: Venu Byravarasu
> Cc: 'Andrew Morton'; linux-kernel@xxxxxxxxxxxxxxx; 'Tejun Heo'; 'Greg KH';
> 'Alessandro Zummo'; rtc-linux@xxxxxxxxxxxxxxxx; Jingoo Han
> Subject: Re: [PATCH v3] rtc: add devm_rtc_device_{register,unregister}()
>
> On Wednesday, March 06, 2013 3:03 PM, Venu Byravarasu wrote:
> >
> > > --- a/drivers/rtc/class.c
> > > +++ b/drivers/rtc/class.c
> >
> > > +/**
> > > + * devm_rtc_device_register - resource managed rtc_device_register()
> > > + * @name: the name of the device
> > > + * @dev: the device to register
> > > + * @ops: the rtc operations structure
> > > + * @owner: the module owner
> > > + *
> > > + * @return a struct rtc on success, or an ERR_PTR on error
> > > + *
> > > + * Managed rtc_device_register(). The rtc_device returned from this
> > > function
> > > + * are automatically freed on driver detach. See rtc_device_register()
> > > + * for more information.
> > > + */
> > > +
> > > +struct rtc_device *devm_rtc_device_register(const char *name,
> > > + struct device *dev,
> >
> > As most of devm_* functions use " struct device *dev" as their first param,
> > why not this function also modified to be in sync with them?
>
> Yes, but, I want to sync with the form of rtc_device_register().
> This function already uses 'struct device *dev' as second argument as below.
>

IMO any kernel driver developer using devm_* API, expects struct device* as first argument.
Breaking this policy for one module (RTC here) & making this API special, might not be a good idea.
Anyhow, maintainers may add their comments on this.

Thanks,
Venu

> struct rtc_device *rtc_device_register(const char *name, struct device *dev,
> const struct rtc_class_ops *ops,
> struct module *owner)
>
> Best regards,
> Jingoo Han
>
> >
> > > + const struct rtc_class_ops *ops,
> > > + struct module *owner)
> > > +{
> > > + struct rtc_device **ptr, *rtc;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/