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
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html