Hi, > <snip> > > > +static int mc13xxx_i2c_probe(struct i2c_client *client, > > + const struct i2c_device_id *id) > > +{ > > + const struct of_device_id *of_id; > > + struct i2c_driver *idrv = to_i2c_driver(client->dev.driver); > > + struct mc13xxx *mc13xxx; > > + struct mc13xxx_platform_data *pdata = > > dev_get_platdata(&client->dev); + int ret; > > + > > + of_id = of_match_device(mc13xxx_dt_ids, &client->dev); > > + if (of_id) > > + idrv->id_table = > > + &mc13xxx_i2c_device_id[(enum mc13xxx_id) > > of_id->data]; + > > + mc13xxx = kzalloc(sizeof(*mc13xxx), GFP_KERNEL); > > + if (!mc13xxx) > > + return -ENOMEM; > > + > > + dev_set_drvdata(&client->dev, mc13xxx); > > + > > + mc13xxx->dev = &client->dev; > > + mutex_init(&mc13xxx->lock); > > + > > + mc13xxx->regmap = regmap_init_i2c(client, > > &mc13xxx_regmap_i2c_config); + if (IS_ERR(mc13xxx->regmap)) { > > + ret = PTR_ERR(mc13xxx->regmap); > > + dev_err(mc13xxx->dev, "Failed to initialize register map: > > %d\n", + ret); > > + dev_set_drvdata(&client->dev, NULL); > > Are we leaking mc13xxx here > May be you can consider using devm* functions ?
Good catch, this also applies the spi driver as well I think. Cheers, Marc ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general