From patchwork Sat Jun 3 03:04:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 770701 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3wfmTm1HBvz9s7B for ; Sat, 3 Jun 2017 13:17:16 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="FiwaRMQ7"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id E4D86C21C95; Sat, 3 Jun 2017 03:05:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0D270C21C8C; Sat, 3 Jun 2017 03:05:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 14027C21C97; Sat, 3 Jun 2017 03:05:14 +0000 (UTC) Received: from mail-oi0-f45.google.com (mail-oi0-f45.google.com [209.85.218.45]) by lists.denx.de (Postfix) with ESMTPS id 58A90C21C81 for ; Sat, 3 Jun 2017 03:05:09 +0000 (UTC) Received: by mail-oi0-f45.google.com with SMTP id h4so111824797oib.3 for ; Fri, 02 Jun 2017 20:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ePpLkbOs16tc8lE99huuwlc4Pq9YwhztgB4FjEroOY0=; b=FiwaRMQ72rE7umUi7Qez56zUmnoDL5L6FKptIZULUdKEzZ8ccv87milD3OoAEShUuH KGLVmprvgsJRs+QHc39PyPa1qXJNesJVWrJlKKCCuzJlfpC2UfbaTL5itoWi2wvg7SD/ GL7NoWra/nhhnLCHwsEE3Y8jnkGgmFSpUnVCuY0LntBu7lgP6f6+Ww+kGCU+M/bNEp1a mM93iGiPXbQgAcxOtefEVzvWtMzwnqoYbclrtVQxZ5Aus7IIiXeJZMTUNJY/X0YDXCaD Ff5xs/Kvo7kSwsXIQ4OvZoanSXBDyBaHpy0o8FKJrI16ODveiRZ4lHdEtQxAwT4tbrID WbqQ== 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=ePpLkbOs16tc8lE99huuwlc4Pq9YwhztgB4FjEroOY0=; b=HbP8in7CxKNeeXlheEnysCHB/iLhOXqi6zjK+D0cLKHBnSMAILBJtvLGC77cC+9jSK HDeNg7/pvOKTwb33bV7xs32GzGFOUYMlm8z4cCtVBtj/N2ugSF6orO6tduc8kwvmi9ff 7a++Ok8PJYWTYBVSJKMyOx6Ghtjnz48fTXsyH6g840Pv14ifkExL4vAzGkMDNMOTL3fp TPxWmCBLI46100++gHCH/gyn5oUA/+GhhDBBVaSXJEMvN5S1Ih5W+K5YDf/4BXkjrk5S bU3zjXtOZYqxcVczMq2WhWO2q7yJlUawwQJc8F6BE4YkilzEPNYieblxeA6xfsk/xzXg XxtA== X-Gm-Message-State: AKS2vOyAzzhbbL4TxlYbrVzy/Q2n5u2QS1NvDR1cPwMbEeReWMYJbjZq 2EtR2hZmrTPxIONo X-Received: by 10.157.43.180 with SMTP id u49mr6862984ota.182.1496459108128; Fri, 02 Jun 2017 20:05:08 -0700 (PDT) Received: from kaki.bld.corp.google.com ([2620:0:10f2:12:35ab:5c4c:1c78:ccbc]) by smtp.gmail.com with ESMTPSA id e202sm2044977oih.1.2017.06.02.20.05.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Jun 2017 20:05:07 -0700 (PDT) Received: by kaki.bld.corp.google.com (Postfix, from userid 121222) id 03A6E4013F; Fri, 2 Jun 2017 21:05:06 -0600 (MDT) From: Simon Glass To: U-Boot Mailing List Date: Fri, 2 Jun 2017 21:04:01 -0600 Message-Id: <20170603030426.16107-7-sjg@chromium.org> X-Mailer: git-send-email 2.13.0.506.g27d5fe0cd-goog In-Reply-To: <20170603030426.16107-1-sjg@chromium.org> References: <20170603030426.16107-1-sjg@chromium.org> Cc: Tom Rini , Marcel Ziswiler Subject: [U-Boot] [PATCH v2 06/31] dm: video: Update pwm_backlight to support livetree X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Update this driver to support a live device tree. Signed-off-by: Simon Glass Acked-by: Anatolij Gustschin --- Changes in v2: None drivers/video/pwm_backlight.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/video/pwm_backlight.c b/drivers/video/pwm_backlight.c index 3697f4905c..fbd7bf7838 100644 --- a/drivers/video/pwm_backlight.c +++ b/drivers/video/pwm_backlight.c @@ -28,11 +28,13 @@ struct pwm_backlight_priv { static int pwm_backlight_enable(struct udevice *dev) { struct pwm_backlight_priv *priv = dev_get_priv(dev); + struct dm_regulator_uclass_platdata *plat; uint duty_cycle; int ret; - debug("%s: Enable '%s', regulator '%s'\n", __func__, dev->name, - priv->reg->name); + plat = dev_get_uclass_platdata(priv->reg); + debug("%s: Enable '%s', regulator '%s'/'%s'\n", __func__, dev->name, + priv->reg->name, plat->name); ret = regulator_set_enable(priv->reg, true); if (ret) { debug("%s: Cannot enable regulator for PWM '%s'\n", __func__, @@ -59,12 +61,11 @@ static int pwm_backlight_enable(struct udevice *dev) static int pwm_backlight_ofdata_to_platdata(struct udevice *dev) { struct pwm_backlight_priv *priv = dev_get_priv(dev); - struct fdtdec_phandle_args args; - const void *blob = gd->fdt_blob; - int node = dev_of_offset(dev); + struct ofnode_phandle_args args; int index, ret, count, len; const u32 *cell; + debug("%s: start\n", __func__); ret = uclass_get_device_by_phandle(UCLASS_REGULATOR, dev, "power-supply", &priv->reg); if (ret) { @@ -79,14 +80,14 @@ static int pwm_backlight_ofdata_to_platdata(struct udevice *dev) if (ret != -ENOENT) return ret; } - ret = fdtdec_parse_phandle_with_args(blob, node, "pwms", "#pwm-cells", - 0, 0, &args); + ret = dev_read_phandle_with_args(dev, "pwms", "#pwm-cells", 0, 0, + &args); if (ret) { debug("%s: Cannot get PWM phandle: ret=%d\n", __func__, ret); return ret; } - ret = uclass_get_device_by_of_offset(UCLASS_PWM, args.node, &priv->pwm); + ret = uclass_get_device_by_ofnode(UCLASS_PWM, args.node, &priv->pwm); if (ret) { debug("%s: Cannot get PWM: ret=%d\n", __func__, ret); return ret; @@ -94,8 +95,8 @@ static int pwm_backlight_ofdata_to_platdata(struct udevice *dev) priv->channel = args.args[0]; priv->period_ns = args.args[1]; - index = fdtdec_get_int(blob, node, "default-brightness-level", 255); - cell = fdt_getprop(blob, node, "brightness-levels", &len); + index = dev_read_u32_default(dev, "default-brightness-level", 255); + cell = dev_read_prop(dev, "brightness-levels", &len); count = len / sizeof(u32); if (cell && count > index) { priv->default_level = fdt32_to_cpu(cell[index]); @@ -104,6 +105,7 @@ static int pwm_backlight_ofdata_to_platdata(struct udevice *dev) priv->default_level = index; priv->max_level = 255; } + debug("%s: done\n", __func__); return 0;