[PATCH v2 1/5] phy: Add driver for Exynos MIPI CSIS/DSIM DPHYs

Sylwester Nawrocki sylvester.nawrocki at gmail.com
Wed Jun 26 07:47:13 EST 2013


Hi,

On 06/25/2013 10:54 PM, Felipe Balbi wrote:
>>>> +static int exynos_video_phy_probe(struct platform_device *pdev)
>>>> >  >>  +{
>>>> >  >>  +	struct exynos_video_phy *state;
>>>> >  >>  +	struct device *dev =&pdev->dev;
>>>> >  >>  +	struct resource *res;
>>>> >  >>  +	struct phy_provider *phy_provider;
>>>> >  >>  +	int i;
>>>> >  >>  +
>>>> >  >>  +	state = devm_kzalloc(dev, sizeof(*state), GFP_KERNEL);
>>>> >  >>  +	if (!state)
>>>> >  >>  +		return -ENOMEM;
>>>> >  >>  +
>>>> >  >>  +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>>> >  >>  +
>>>> >  >>  +	state->regs = devm_ioremap_resource(dev, res);
>>>> >  >>  +	if (IS_ERR(state->regs))
>>>> >  >>  +		return PTR_ERR(state->regs);
>>>> >  >>  +
>>>> >  >>  +	dev_set_drvdata(dev, state);
>>> >  >
>>> >  >  you can use platform_set_drvdata(pdev, state);
>> >
>> >  I had it in the previous version, but changed for symmetry with
>> >  dev_set_drvdata(). I guess those could be replaced with
>> >  phy_{get, set}_drvdata as you suggested.
>
> hmm, you do need to set the drvdata() to the phy object, but also to the
> pdev object (should you need it on a suspend/resume callback, for
> instance). Those are separate struct device instances.

Indeed, I somehow confused phy->dev with with phy->dev.parent. I'm going
to just drop the above call, since the pdev drvdata is currently not
referenced anywhere.


Thanks,
Sylwester


More information about the devicetree-discuss mailing list