From patchwork Mon Nov 20 10:45:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 10066291 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4382A60375 for ; Mon, 20 Nov 2017 10:47:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 340CB2022B for ; Mon, 20 Nov 2017 10:47:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 290D6290E1; Mon, 20 Nov 2017 10:47:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 82F492022B for ; Mon, 20 Nov 2017 10:46:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751061AbdKTKqe (ORCPT ); Mon, 20 Nov 2017 05:46:34 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:37999 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751042AbdKTKp7 (ORCPT ); Mon, 20 Nov 2017 05:45:59 -0500 Received: by mail-lf0-f67.google.com with SMTP id c188so2013071lfd.5; Mon, 20 Nov 2017 02:45:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=piU0ROqTlOIeVhwnT3CyIp1p6V7MZVLFGXmgrXW/ook=; b=bmepYVK4WfbSNwszP+qv6jb6xm53zF8xeMg9d1aSckdZwwaU+ITIOAKjJuK3aOv30u 82oLMF5LHVX+TD8ZZm1h4/vRUXZXug8feisU4lQCZCiz9OudEn3WR9+NoCheKZ8pVZ++ yKLyBLsKczxDSNgrAroYnQclYcoigfFiCvjO7AvfMQs9ujYMP84k6y+Szi7STetdC30N 1Thg+eWo8ULuWCS9MPeUYcSpiNof1y5F5IWUXl4GLdYSVwo2eikjehaDdXnCCYxDZ9Kg tmD1NbqgU59C6KylaRNXF9XBxM8QrmpTJaIu657TnttX1qAe3TjCqQ/94G0QtPqhaTtL 5I6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=piU0ROqTlOIeVhwnT3CyIp1p6V7MZVLFGXmgrXW/ook=; b=Vv/eJKK/+VE8t7Hhftiuo1glcrhbmeDZ7aQbrz4eBYy591KU+NJSQEkkPu9SBSBxIl HCOInJQRhWoRTN85xDOhnKQ+yB5H8dJ+KED+mKRcESyElzihLZtVKJ3eyn6B9H20RnK+ x/8N2SThEqGa21S4tvknOYKo6oo3zhBnkNHLIpvYTxAGdrNclLy40SQzAkojVNEEj23G JgnfpphM4Ki0yXItJ8ntnsSMNCRXNqS+YnoXHY/4yM6/7/uMOYE5qspqVEsnBokvCqNZ ttutTMMs/OI3pvxJghMly+cfXQMb+7qUvVjpaKjjEfzSaqgIj0Mzv9Jezp59B9KRnxWc uEHg== X-Gm-Message-State: AJaThX5cyCtL2wUNmY4abKq+4FIdGEN2wK8d4bKl7Qf2Wp+gARHbM1Kc vaXLaqz8gbIKcYwdRCer1ukI2UB7 X-Google-Smtp-Source: AGs4zMYz9iHLJXkZAdDSuVGS6pG0PbIFYyH8bAdjC5USD5YKv1BIPiZi5XgXIwJNKN7Ddc8Us615kw== X-Received: by 10.46.27.85 with SMTP id b82mr4011636ljb.163.1511174757330; Mon, 20 Nov 2017 02:45:57 -0800 (PST) Received: from xi.terra (c-c0bae655.07-184-6d6c6d4.cust.bredbandsbolaget.se. [85.230.186.192]) by smtp.gmail.com with ESMTPSA id r2sm1884421lff.8.2017.11.20.02.45.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Nov 2017 02:45:55 -0800 (PST) Received: from johan by xi.terra with local (Exim 4.89) (envelope-from ) id 1eGjaK-0000hn-7V; Mon, 20 Nov 2017 11:45:52 +0100 From: Johan Hovold To: Lee Jones Cc: Daniel Thompson , Jingoo Han , Bartlomiej Zolnierkiewicz , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold , Guennadi Liakhovetski Subject: [PATCH v2 4/4] backlight: as3711_bl: fix device-tree node leaks Date: Mon, 20 Nov 2017 11:45:47 +0100 Message-Id: <20171120104547.2639-5-johan@kernel.org> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171120104547.2639-1-johan@kernel.org> References: <20171120104547.2639-1-johan@kernel.org> Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Two framebuffer device-node names were looked up during probe, but were only used as flags to indicate the presence of two framebuffer device. Drop the unused framebuffer name along with a likewise unused device pointer from the driver data, and update the platform data to pass in booleans instead of the framebuffer strings. This allows us do drop the node references acquired during probe, which would otherwise leak. Note that there are no other in-kernel users of the modified platform-data fields. Fixes: 59eb2b5e57ea ("drivers/video/backlight/as3711_bl.c: add OF support") Cc: Guennadi Liakhovetski Signed-off-by: Johan Hovold Acked-by: Daniel Thompson --- drivers/video/backlight/as3711_bl.c | 12 ++++++------ include/linux/mfd/as3711.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/video/backlight/as3711_bl.c b/drivers/video/backlight/as3711_bl.c index e55304d5cf07..ca544aa764b8 100644 --- a/drivers/video/backlight/as3711_bl.c +++ b/drivers/video/backlight/as3711_bl.c @@ -28,8 +28,6 @@ enum as3711_bl_type { struct as3711_bl_data { bool powered; - const char *fb_name; - struct device *fb_dev; enum as3711_bl_type type; int brightness; struct backlight_device *bl; @@ -273,7 +271,9 @@ static int as3711_backlight_parse_dt(struct device *dev) fb = of_parse_phandle(bl, "su1-dev", 0); if (fb) { - pdata->su1_fb = fb->full_name; + of_node_put(fb); + + pdata->su1_fb = true; ret = of_property_read_u32(bl, "su1-max-uA", &pdata->su1_max_uA); if (pdata->su1_max_uA <= 0) @@ -286,7 +286,9 @@ static int as3711_backlight_parse_dt(struct device *dev) if (fb) { int count = 0; - pdata->su2_fb = fb->full_name; + of_node_put(fb); + + pdata->su2_fb = true; ret = of_property_read_u32(bl, "su2-max-uA", &pdata->su2_max_uA); if (pdata->su2_max_uA <= 0) @@ -425,7 +427,6 @@ static int as3711_backlight_probe(struct platform_device *pdev) if (pdata->su1_fb) { su = &supply->su1; - su->fb_name = pdata->su1_fb; su->type = AS3711_BL_SU1; max_brightness = min(pdata->su1_max_uA, 31); @@ -436,7 +437,6 @@ static int as3711_backlight_probe(struct platform_device *pdev) if (pdata->su2_fb) { su = &supply->su2; - su->fb_name = pdata->su2_fb; su->type = AS3711_BL_SU2; switch (pdata->su2_fbprot) { diff --git a/include/linux/mfd/as3711.h b/include/linux/mfd/as3711.h index 34cc85864be5..ddd0b953323b 100644 --- a/include/linux/mfd/as3711.h +++ b/include/linux/mfd/as3711.h @@ -108,9 +108,9 @@ struct as3711_regulator_pdata { }; struct as3711_bl_pdata { - const char *su1_fb; + bool su1_fb; int su1_max_uA; - const char *su2_fb; + bool su2_fb; int su2_max_uA; enum as3711_su2_feedback su2_feedback; enum as3711_su2_fbprot su2_fbprot;