On January 21, 2015 16:15, Varka Bhadram wrote: > On Wednesday 21 January 2015 09:16 PM, Adam Thomson wrote: > > This patch adds support for DA9150 Charger & Fuel-Gauge IC Charger. > > > > Signed-off-by: Adam Thomson > > --- > > (...) > > > +static int da9150_charger_register_irq(struct platform_device *pdev, > > + irq_handler_t handler, > > + const char *irq_name) > > +{ > > + struct device *dev = &pdev->dev; > > + struct da9150_charger *charger = platform_get_drvdata(pdev); > > + int irq, ret; > > + > > + irq = platform_get_irq_byname(pdev, irq_name); > > + if (irq < 0) { > > + dev_err(dev, "Failed to get IRQ CHG_STATUS: %d\n", irq); > > + return irq; > > + } > > + > > + ret = request_threaded_irq(irq, NULL, handler, IRQF_ONESHOT, irq_name, > > + charger); > > Why don you use devm_* API..? As mentioned in previous discussions, the order of tidy up is important so devm_* functions cannot be used here. > > > + if (ret) > > + dev_err(dev, "Failed to request IRQ %d: %d\n", irq, ret); > > + > > + return ret; > > +} > > + > > +static void da9150_charger_unregister_irq(struct platform_device *pdev, > > + const char *irq_name) > > +{ > > + struct device *dev = &pdev->dev; > > + struct da9150_charger *charger = platform_get_drvdata(pdev); > > + int irq; > > + > > + irq = platform_get_irq_byname(pdev, irq_name); > > + if (irq < 0) { > > + dev_err(dev, "Failed to get IRQ CHG_STATUS: %d\n", irq); > > + return; > > + } > > + > > + free_irq(irq, charger); > > +} > > + > > +static int da9150_charger_probe(struct platform_device *pdev) > > +{ > > + struct device *dev = &pdev->dev; > > + struct da9150 *da9150 = dev_get_drvdata(dev->parent); > > + struct da9150_charger *charger; > > + struct power_supply *usb, *battery; > > + u8 reg; > > + int ret; > > + > > + charger = devm_kzalloc(dev, sizeof(struct da9150_charger), GFP_KERNEL); > > + if (charger == NULL) > > + return -ENOMEM; > > sizeof(struct da9150_charger) can be replaced with sizeof(*charger)... > > *!* operator can be used in comparison with NULL... > Yes, but functionally no different. Can maybe change this around later, but would like to avoid changing current patch set right now. {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I