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

From: Jingoo Han
Date: Wed Mar 06 2013 - 01:37:21 EST


On Wednesday, March 06, 2013 3:19 PM, Venu Byravarasu wrote:
> On Wednesday, March 06, 2013 11:43 AM, Jingoo Han wrote:
> >
> > 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.

OK, I see.

I just look at other devm_* API. All devm_* APIs use 'struct device*'
as first argument.

To prevent the confusion, I will send the patch that uses
'struct device*' as first argument as below.

struct rtc_device *devm_rtc_device_register(struct device *dev,
const char *name,

Thanks for your comment

Best regards,
Jingoo Han

>
> 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/