From nobody Sun Dec 28 00:57:32 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2F94C4332F for ; Thu, 14 Dec 2023 18:41:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573131AbjLNSk6 (ORCPT ); Thu, 14 Dec 2023 13:40:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573072AbjLNSkx (ORCPT ); Thu, 14 Dec 2023 13:40:53 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1ED46111; Thu, 14 Dec 2023 10:41:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702579260; x=1734115260; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tzobM1VNBQfa71tbk5guQU+1z1I5o1Ve5XDjWlrKIeY=; b=H7MHMM6/7Qck/xw8bbwtm4m2q0mfAbrb+FobfXH3FajSTLlx1B+tZI9e foRfZqGuQDQwcOC8Y0uY/N4PrHYAVHmlL8YbbvfMjWw5Ebkqw8eBHrMxU oCTOmJ6wdUYlIyLMyOa4VMY6TAIuQGsqJU2jyJFfbhgeb2n/laJZ++F5r hRqFs1LwTeEBFKpijS6MJQrXWWM7X3LGSi496PPNEkvURY4kUJZWzSXjn 8ox0lDF8zAXYdrV0YFZseb7ndmSfOsoQVRBw3hAsqxXXDLa2p2ggjU8X7 dwjiuMD4TX8UZe2aFIv42xa+ErUAkx5IpNQnS75+JF47Y8Vzh9/E/lmYZ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10924"; a="385582275" X-IronPort-AV: E=Sophos;i="6.04,276,1695711600"; d="scan'208";a="385582275" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Dec 2023 10:40:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10924"; a="840374565" X-IronPort-AV: E=Sophos;i="6.04,276,1695711600"; d="scan'208";a="840374565" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 14 Dec 2023 10:40:56 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2BCD23AE; Thu, 14 Dec 2023 20:40:53 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Patrick Rudolph , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Pavel Machek , Lee Jones Subject: [PATCH v1 2/4] leds: max5970: Make use of device properties Date: Thu, 14 Dec 2023 20:40:09 +0200 Message-ID: <20231214184050.1272848-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231214184050.1272848-1-andriy.shevchenko@linux.intel.com> References: <20231214184050.1272848-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert the module to be property provider agnostic and allow it to be used on non-OF platforms. Add mod_devicetable.h include. Signed-off-by: Andy Shevchenko --- drivers/leds/leds-max5970.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/leds/leds-max5970.c b/drivers/leds/leds-max5970.c index 7959d079ae94..de57b385b4f6 100644 --- a/drivers/leds/leds-max5970.c +++ b/drivers/leds/leds-max5970.c @@ -9,8 +9,9 @@ =20 #include #include -#include +#include #include +#include #include =20 #define ldev_to_maxled(c) container_of(c, struct max5970_led, cdev) @@ -40,25 +41,24 @@ static int max5970_led_set_brightness(struct led_classd= ev *cdev, =20 static int max5970_led_probe(struct platform_device *pdev) { + struct fwnode_handle *led_node, *child; struct device *dev =3D &pdev->dev; - struct device_node *np =3D dev_of_node(dev->parent); struct regmap *regmap; - struct device_node *led_node, *child; struct max5970_led *ddata; int ret =3D -ENODEV; =20 - regmap =3D dev_get_regmap(pdev->dev.parent, NULL); + regmap =3D dev_get_regmap(dev->parent, NULL); if (!regmap) return -ENODEV; =20 - led_node =3D of_get_child_by_name(np, "leds"); + led_node =3D device_get_named_child_node(dev->parent, "leds"); if (!led_node) return -ENODEV; =20 - for_each_available_child_of_node(led_node, child) { + fwnode_for_each_available_child_node(led_node, child) { u32 reg; =20 - if (of_property_read_u32(child, "reg", ®)) + if (fwnode_property_read_u32(child, "reg", ®)) continue; =20 if (reg >=3D MAX5970_NUM_LEDS) { @@ -68,7 +68,7 @@ static int max5970_led_probe(struct platform_device *pdev) =20 ddata =3D devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL); if (!ddata) { - of_node_put(child); + fwnode_handle_put(child); return -ENOMEM; } =20 @@ -76,8 +76,8 @@ static int max5970_led_probe(struct platform_device *pdev) ddata->regmap =3D regmap; ddata->dev =3D dev; =20 - if (of_property_read_string(child, "label", &ddata->cdev.name)) - ddata->cdev.name =3D child->name; + if (fwnode_property_read_string(child, "label", &ddata->cdev.name)) + ddata->cdev.name =3D fwnode_get_name(child); =20 ddata->cdev.max_brightness =3D 1; ddata->cdev.brightness_set_blocking =3D max5970_led_set_brightness; @@ -85,7 +85,7 @@ static int max5970_led_probe(struct platform_device *pdev) =20 ret =3D devm_led_classdev_register(dev, &ddata->cdev); if (ret < 0) { - of_node_put(child); + fwnode_handle_put(child); dev_err(dev, "Failed to initialize LED %u\n", reg); return ret; } @@ -100,8 +100,8 @@ static struct platform_driver max5970_led_driver =3D { }, .probe =3D max5970_led_probe, }; - module_platform_driver(max5970_led_driver); + MODULE_AUTHOR("Patrick Rudolph "); MODULE_AUTHOR("Naresh Solanki "); MODULE_DESCRIPTION("MAX5970_hot-swap controller LED driver"); --=20 2.43.0.rc1.1.gbec44491f096