[PATCH v5 2/3] mfd: qcom-rpm: Driver for the Qualcomm RPM

Lee Jones lee.jones at linaro.org
Fri Aug 22 00:50:41 PDT 2014


On Thu, 21 Aug 2014, Bjorn Andersson wrote:
> On Thu 21 Aug 06:22 PDT 2014, Lee Jones wrote:
> > > +struct qcom_rpm *dev_get_qcom_rpm(struct device *dev)
> > > +{
> > > +	return dev_get_drvdata(dev);
> > > +}
> > > +EXPORT_SYMBOL(dev_get_qcom_rpm);
> > 
> > No need for this at all.  Use dev_get_drvdata() direct instead.
> > 
> 
> I see that others have put this as static inline in the header file, so I will
> follow that. I don't want to expose this directly in the implementation of the
> clients.
> 
> Let me know if you object.

I do (unless you convince me otherwise).  Why is this a good idea and
why 'exposing' this directly is a bad one?  At the moment this looks
to me like abstraction for the sake of abstraction.

> > > +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > > +	rpm->status_regs = devm_ioremap_resource(&pdev->dev, res);
> > > +	rpm->ctrl_regs = rpm->status_regs + 0x400;
> > > +	rpm->req_regs = rpm->status_regs + 0x600;
> > > +	if (IS_ERR(rpm->status_regs))
> > > +		return PTR_ERR(rpm->status_regs);
> > 
> > You should probably do this _before_ using it above.
> 
> There's no difference in behaviour, but it just feels cleaner than:
> 
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> rpm->status_regs = devm_ioremap_resource(&pdev->dev, res);
> if (IS_ERR(rpm->status_regs))
> 	return PTR_ERR(rpm->status_regs);
> rpm->ctrl_regs = rpm->status_regs + 0x400;
> rpm->req_regs = rpm->status_regs + 0x600;
> 
> If you don't like it, I'll change it.

There is a difference.  In the current implementation you're doing math
with a possible error code and assigning rubbish to rpm->ctrl_regs and
rpm->req_regs.

[...]

> > > +MODULE_DESCRIPTION("Qualcomm Resource Power Manager driver");
> > > +MODULE_LICENSE("GPL v2");
> > 
> > No one authored this driver?
> > 
> 
> Thought that was optional, will update.

It's also helpful.  Can you place an Author: line in the header(s) too.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list