On Tue, May 20, 2014 at 04:06:52PM +0200, Antoine Ténart wrote: > Hi, > > On Tue, May 20, 2014 at 02:34:20PM +0200, Bartlomiej Zolnierkiewicz wrote: > > On Tuesday, May 20, 2014 11:04:29 AM Antoine Ténart wrote: > > > + > > > +static struct phy_berlin_desc desc[] = { > > > + { .val = POWER_DOWN_PHY0 }, > > > + { .val = POWER_DOWN_PHY1 }, > > > > Only .val entry of struct phy_berlin_desc is initialized and needed, > > it seems that u32 vals[] should be used instead of desc[]. > > Sure. > > > > + > > > +static int phy_berlin_sata_probe(struct platform_device *pdev) > > > +{ > > > + struct device *dev = &pdev->dev; > > > + struct phy *phy; > > > + struct phy_provider *phy_provider; > > > + struct phy_berlin_priv *priv; > > > + struct resource *res; > > > + int i; > > > + > > > + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > > > + if (!priv) > > > + return -ENOMEM; > > > + > > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); We also need to check res isn't NULL here. > > > + priv->base = devm_ioremap(dev, res->start, resource_size(res)); > > > + if (IS_ERR(priv->base)) > > > + return PTR_ERR(priv->base); > > > > devm_ioremap() (contrary to devm_ioremap_resource()) returns a valid > > pointer or NULL so return value checking should be fixed. > > I'll fix this. Antoine -- Antoine Ténart, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html