From mboxrd@z Thu Jan 1 00:00:00 1970 From: Varka Bhadram Subject: Re: [PATCH v6 5/7] power: Add support for DA9150 Charger Date: Wed, 21 Jan 2015 21:44:42 +0530 Message-ID: <54BFD072.8000707@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mail-pd0-f170.google.com ([209.85.192.170]:63968 "EHLO mail-pd0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752449AbbAUQOv (ORCPT ); Wed, 21 Jan 2015 11:14:51 -0500 In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Adam Thomson , Lee Jones , Samuel Ortiz , Jonathan Cameron , Hartmut Knaack , linux-iio@vger.kernel.org, Sebastian Reichel , Dmitry Eremin-Solenikov , David Woodhouse , linux-pm@vger.kernel.org, Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Grant Likely , devicetree@vger.kernel.org, Andrew Morton , Joe Perches Cc: linux-kernel@vger.kernel.org, support.opensource@diasemi.com 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..? > + 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... (...) -- Thanks and Regards, Varka Bhadram.