From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5EB9725634 for ; Fri, 28 Jun 2024 18:09:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598145; cv=none; b=YZk+sPnBpCHWXcx0VbWWHaaoLzUhVGV4NDHbQSjO0rh5b0Wennidct9B/AcDWiV1606p5x4ebtkJ6HJYOWuczwYBPhUMvZh7+fLyW+DxVeme9exymDb8RrzqYasExrm51rPzGJVIbj5Y+e8SaJqzlRWAywLj2X7zUOYSwqZFGGM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598145; c=relaxed/simple; bh=YBl3Vp7yBZBVTQv/MQDss0dcvX5XDavuIcIOOYpfHaQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EkWeSQZUnruH/y9ytMIz/P66Onm+a/wsTrMmQQ6/QIgeiCrjMeVgboHQPkCfUvykh9zg7YSvcZo6FwoZPQWDMNpvmH3+yKLs/ga4qQmR9nhv2qv+rfzBqdBfiqlbTlropAR435UuHBakH1YMM4irBbgN8BeABrlvtJm+DdFsYAI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mankVIHm; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mankVIHm" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-707040e3017so640065a12.3 for ; Fri, 28 Jun 2024 11:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598143; x=1720202943; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BBCvkVyfkbdo7pnt4Aoi2nCfq7+jAcbsmUlNqiZyQyk=; b=mankVIHmmolyM71O9cvKniMmZOssDIpc8bvLLKMbjuut0ehHVCIBVDmWkK5QVcI8Et BigBVWZ3h2KyUjEsa4Q4i55adCVZbnmZo1ufBpPSJMINmx5UIBC99tm8LaAVPXSY6XBd Iavl43yAntZ15dKymgHwo5jSGTceSgotBGOt912jjJ3JTZEwDxn3CFl+mTMvdLfa2lQq h8JS0hOKbaZfRR1Of+4H2j93XSunZa4vG8vkvVOBPU0C5dchGzRCxfArf0uSBAR//SXp prOr6YJtIqmGqHLooxTqYOhlEjkb1981G7ywj5HMfPNkEnSFVtKje4R78vkCkCxxaJzG 0VEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598143; x=1720202943; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BBCvkVyfkbdo7pnt4Aoi2nCfq7+jAcbsmUlNqiZyQyk=; b=Pp4Ahvmv4wzlzTNTRCzd+u8gqR2ThYsU2VHLlZL/RSXpjEkEmNbYLrq8whkFWTGnDW oxHfJ49l+9CfpSIhAF8hhdUJIShm1AFKW1U9dDpvRorurNCQ0KCm6iQoprV55e1pQjYi weE5lIApVI8wycb9Hmu1/ek+uRLGpy1FulfnUy3etihzGltfRHbBXZ4oNKl/UWLhf+vG VfvlQgO+KFJYk5tTC6ijuriE+kBGFisyQp0YlXTphrvIoYMIwh2hdxrQCPi+RH6O2orr f/99FgqGctq5Lds5ZZ4+iOWpIsov9CgwT9E8GA4MWNGXzoleVy0QXu1AZ6cqYvN4yuR5 ubeg== X-Forwarded-Encrypted: i=1; AJvYcCVWD4J0sfDKQDPD7q5lByZx2PLdnJzwhKn0Ls7EmJb1yAFdoppiuvq4wfvo+z+oYFFgjR/m2/soAJpZJCwCkMf/gbLeeHPK/yFR+HQL X-Gm-Message-State: AOJu0YxMvmyumH49te7lx+KYutA/LcvQ7LvgEowolZ+OTYBseGLfdlJe GGtbPGSUXctCOpSOpKLLQvAtwqYts6eHUJZwx3HZO3sKkGr52b7r X-Google-Smtp-Source: AGHT+IGwdjUnAxnrdNhQ33UTdibVtsjtn7lXpV2d4m+C6E3UaoUTdQmOGIj57QB+hbO2gd1xcDLN7w== X-Received: by 2002:a05:6a20:3ca1:b0:1be:c699:6aea with SMTP id adf61e73a8af0-1bec6996ff2mr9156618637.47.1719598143323; Fri, 28 Jun 2024 11:09:03 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:02 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/10] ARM: spitz: fix GPIO assignment for backlight Date: Fri, 28 Jun 2024 11:08:41 -0700 Message-ID: <20240628180852.1738922-2-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" GPIOs controlling backlight on Spitz and Akita are coming from GPIO expanders, not the pxa27xx-gpio block, correct it. Additionally GPIO lookup tables operate with pin numbers rather than legacy GPIO numbers, fix that as well. Use raw numbers instead of legacy GPIO names to avoid confusion. Fixes: ee0c8e494cc3 ("backlight: corgi: Convert to use GPIO descriptors") Reviewed-by: Linus Walleij Signed-off-by: Dmitry Torokhov --- arch/arm/mach-pxa/spitz.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 3c5f5a3cb480..10ab16dcd827 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -520,10 +520,8 @@ static struct gpiod_lookup_table spitz_ads7846_gpio_ta= ble =3D { static struct gpiod_lookup_table spitz_lcdcon_gpio_table =3D { .dev_id =3D "spi2.1", .table =3D { - GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_BACKLIGHT_CONT, - "BL_CONT", GPIO_ACTIVE_LOW), - GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_BACKLIGHT_ON, - "BL_ON", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("sharp-scoop.1", 6, "BL_CONT", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("sharp-scoop.1", 7, "BL_ON", GPIO_ACTIVE_HIGH), { }, }, }; @@ -531,10 +529,8 @@ static struct gpiod_lookup_table spitz_lcdcon_gpio_tab= le =3D { static struct gpiod_lookup_table akita_lcdcon_gpio_table =3D { .dev_id =3D "spi2.1", .table =3D { - GPIO_LOOKUP("gpio-pxa", AKITA_GPIO_BACKLIGHT_CONT, - "BL_CONT", GPIO_ACTIVE_LOW), - GPIO_LOOKUP("gpio-pxa", AKITA_GPIO_BACKLIGHT_ON, - "BL_ON", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("i2c-max7310", 3, "BL_ON", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("i2c-max7310", 4, "BL_CONT", GPIO_ACTIVE_LOW), { }, }, }; @@ -964,12 +960,9 @@ static inline void spitz_i2c_init(void) {} static struct gpiod_lookup_table spitz_audio_gpio_table =3D { .dev_id =3D "spitz-audio", .table =3D { - GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_L - SPITZ_SCP_GPIO_BASE, - "mute-l", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_R - SPITZ_SCP_GPIO_BASE, - "mute-r", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("sharp-scoop.1", SPITZ_GPIO_MIC_BIAS - SPITZ_SCP2_GPIO_BASE, - "mic", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("sharp-scoop.0", 3, "mute-l", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("sharp-scoop.0", 4, "mute-r", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("sharp-scoop.1", 8, "mic", GPIO_ACTIVE_HIGH), { }, }, }; @@ -977,12 +970,9 @@ static struct gpiod_lookup_table spitz_audio_gpio_tabl= e =3D { static struct gpiod_lookup_table akita_audio_gpio_table =3D { .dev_id =3D "spitz-audio", .table =3D { - GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_L - SPITZ_SCP_GPIO_BASE, - "mute-l", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_R - SPITZ_SCP_GPIO_BASE, - "mute-r", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("i2c-max7310", AKITA_GPIO_MIC_BIAS - AKITA_IOEXP_GPIO_BASE, - "mic", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("sharp-scoop.0", 3, "mute-l", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("sharp-scoop.0", 4, "mute-r", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("i2c-max7310", 2, "mic", GPIO_ACTIVE_HIGH), { }, }, }; --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 146731CCCA6 for ; Fri, 28 Jun 2024 18:09:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598146; cv=none; b=gJYKHA1fXPxC4NdSHNMprLP+EMAR8n0us36o5GHqNoCod9ibHvZ7fcwQjInpWeXF4AqmDu0fMpbo0pAAdPeicDV37OOebOoZYIWwlaw2HsDksDcJRiHaHhrXYhBavdNK0Q5QT+EBjHcigMLZ7o4KWxQMtxa64GPlGufTYemZmxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598146; c=relaxed/simple; bh=0JfetHvFGQKBCEIAYvXWJQH0dRz7eUH0j6VBsWHnq1k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Cj/Vy6HCbhqHI9e2uwKqvyQrmh/xqsIRXrE0cbk4oHmLRUyC4mdjsgI+qZvmTzQym+cWHGiGlG6at3TdVONP/Wnkh2vD8ZyQXjPIy5x7sho8T/yRo9/GTpiEVrDi2XqHlIp2Z7WIDdr/0suW22DaFtN1qnC51U3xT/irqCAVaH4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GhbpnaSW; arc=none smtp.client-ip=209.85.210.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GhbpnaSW" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-701b0b0be38so752038b3a.0 for ; Fri, 28 Jun 2024 11:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598144; x=1720202944; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=up/qg8WDCqy4xhIoMEE6lkWQO4HcB5nnKXIU51pcsyE=; b=GhbpnaSWlXIG2t7j4yZMSmPHrKvQFHX6ZPYpaIuKLFh1fKBStxEppt9h8gaJxZGt6h sqpFeW0PchjEaY9gUO0Sj1Ha3W5SnGqlrCp+A52PRIr+A4Bzp83jnhSeCd8vBTPYK18P mF1YzMNWol4egf6uDovz5J9NC5aCpnoyzWDih+ZJE+OB2E7v5G/w56honGf0/JOiHBB1 U1RFOjxWajtt6nDZbrCSQ+aeja1IF2oZzi9c5PXN6bEeNxwbFKRmavjHQNn55hqqMsmn vJ0KK2WRy1Wcw1uanRKp1FEA66u8oANTIetCU78UhC7eDGN5JehFBiUDyZGi7MQ73z7b IAnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598144; x=1720202944; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=up/qg8WDCqy4xhIoMEE6lkWQO4HcB5nnKXIU51pcsyE=; b=MRok/Z9PRgwGbwnLIOkLPwoMaMrkIvWyPxWsoaps7KRH4a3hpW0En/Xsu4hNNmmUyc X78bQ1HuBIb6ThYGvuUxk1fUPVNcYhg3dD8pjCw8fQ/4IH3AEaXMQ6yJmWeTjMzCVf7o f23V3QZNKgNgsaW4sK3K0WYEEcaFYA4fLFc5UmIDAbY0S55flR3f1tNRTVezp69O7+nt 724tlptx+ibBVZs8LBSnNqonSlc3a7gh9CuXlFxm8Mu2e6ZRAbgGQMc3rL2CrOuWEHgI BzTCfkGdQNq9AbevlNjSzWrhejm2BOgQJ2geK2iCsJ49iVSVohjw2FaR2WtCKltr35/t dZog== X-Forwarded-Encrypted: i=1; AJvYcCXy7n9yAlM7860bznH15QtCIhbBEWTFUoIjdZiKaFN3MdOf5ujj9+aSshlhouZtFHrqIAG3Q0u1p2xLlsiixznIy3gS8vdVN3RNF2Nq X-Gm-Message-State: AOJu0YyEprjESxSF04ZZiKvVlcE9XEhE4IOESDTb2qCzijmdi4cte+JV ZnaDqqnHH7k/5DtIApJBZbA3Db4FkyuqunXBOO8yfDTz5Z9OfZ8b X-Google-Smtp-Source: AGHT+IHl5Hkg3zTbLOFzM8iN/UjEZ0JCZYz7drxxPW4g1Ndh3zPD3L4duozHiDSYrQjf9NwirFH/xA== X-Received: by 2002:a05:6a20:6a90:b0:1bd:91aa:79a0 with SMTP id adf61e73a8af0-1bd91aa7a7dmr8588298637.12.1719598144351; Fri, 28 Jun 2024 11:09:04 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:04 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 02/10] ARM: pxa: consolidate GPIO chip platform data Date: Fri, 28 Jun 2024 11:08:42 -0700 Message-ID: <20240628180852.1738922-3-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The platform data for the GPIO controllers for the boards using non-DT setup is the same between PXA25x (gumstix) and PXA27x (Spitz) devices. Move it into devices.c to consolidate code. It will help with conversion to software nodes/properties. Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/devices.c | 13 +++++++++++++ arch/arm/mach-pxa/pxa25x.c | 7 +------ arch/arm/mach-pxa/pxa27x.c | 8 +------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 1e4cd502340e..7cc6db2d1615 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include =20 @@ -17,6 +18,7 @@ #include #include =20 +#include "mfp-pxa2xx.h" #include "regs-ost.h" #include "reset.h" #include "devices.h" @@ -650,11 +652,19 @@ struct resource pxa_resource_gpio[] =3D { }, }; =20 +static struct pxa_gpio_platform_data pxa2xx_gpio_info =3D { + .irq_base =3D PXA_GPIO_TO_IRQ(0), + .gpio_set_wake =3D gpio_set_wake, +}; + struct platform_device pxa25x_device_gpio =3D { .name =3D "pxa25x-gpio", .id =3D -1, .num_resources =3D ARRAY_SIZE(pxa_resource_gpio), .resource =3D pxa_resource_gpio, + .dev =3D { + .platform_data =3D &pxa2xx_gpio_info, + }, }; =20 struct platform_device pxa27x_device_gpio =3D { @@ -662,6 +672,9 @@ struct platform_device pxa27x_device_gpio =3D { .id =3D -1, .num_resources =3D ARRAY_SIZE(pxa_resource_gpio), .resource =3D pxa_resource_gpio, + .dev =3D { + .platform_data =3D &pxa2xx_gpio_info, + }, }; =20 static struct resource pxa_dma_resource[] =3D { diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 02712d24be82..2ab3d8d66466 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c @@ -178,12 +178,8 @@ void __init pxa25x_map_io(void) pxa25x_get_clk_frequency_khz(1); } =20 -static struct pxa_gpio_platform_data pxa25x_gpio_info __initdata =3D { - .irq_base =3D PXA_GPIO_TO_IRQ(0), - .gpio_set_wake =3D gpio_set_wake, -}; - static struct platform_device *pxa25x_devices[] __initdata =3D { + &pxa25x_device_gpio, &pxa25x_device_udc, &pxa_device_pmu, &pxa_device_i2s, @@ -244,7 +240,6 @@ static int __init pxa25x_init(void) =20 if (!of_have_populated_dt()) { pxa2xx_set_dmac_info(&pxa25x_dma_pdata); - pxa_register_device(&pxa25x_device_gpio, &pxa25x_gpio_info); ret =3D platform_add_devices(pxa25x_devices, ARRAY_SIZE(pxa25x_devices)); } diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index d71491e2e1d6..b135b9ef665c 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c @@ -276,12 +276,8 @@ void __init pxa27x_set_i2c_power_info(struct i2c_pxa_p= latform_data *info) pxa_register_device(&pxa27x_device_i2c_power, info); } =20 -static struct pxa_gpio_platform_data pxa27x_gpio_info __initdata =3D { - .irq_base =3D PXA_GPIO_TO_IRQ(0), - .gpio_set_wake =3D gpio_set_wake, -}; - static struct platform_device *devices[] __initdata =3D { + &pxa27x_device_gpio, &pxa27x_device_udc, &pxa_device_pmu, &pxa_device_i2s, @@ -345,8 +341,6 @@ static int __init pxa27x_init(void) register_syscore_ops(&pxa2xx_mfp_syscore_ops); =20 if (!of_have_populated_dt()) { - pxa_register_device(&pxa27x_device_gpio, - &pxa27x_gpio_info); pxa2xx_set_dmac_info(&pxa27x_dma_pdata); ret =3D platform_add_devices(devices, ARRAY_SIZE(devices)); --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 462B11CD5A1 for ; Fri, 28 Jun 2024 18:09:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598147; cv=none; b=almI72a5GPcoFPhutI/IfyHtKN/F8jm08vGMNskrE56mo2j/4k+tLTwO+kkxEYjf4qxlv+SVHSav9WWAXbPTCRc8MjRN75g0f2PTomgGlqMRj4ea+1cSNx4kwe29UJTy3ShvXGJKx07bxcwdCNZ8m6PQlo1bqVM63L9gbhYfS0w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598147; c=relaxed/simple; bh=0olKAO9HXAhRAMVqDdhNkV31EKnRWHiB0iT1VMovycM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mnGKPDIm8ZMm3tkZOW5jH6XM5cV4FWhZe6KHu3SvJyRTIDklJztTNrFYyB8ZNqV3pQNF4G0Akf3pdeGnm/aR6tvHj4zAp+pvViiBiFD8vWGjr4yhDex1bH0doR9NmHQxukRxjSw4Tfy1LBSTB2mgjZmaFBP10vnfhUf2MUZObME= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hERyvxaF; arc=none smtp.client-ip=209.85.210.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hERyvxaF" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-706627ff48dso704211b3a.1 for ; Fri, 28 Jun 2024 11:09:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598145; x=1720202945; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iPjL6ORxfcbcSywP6tXKN3XgBVxZ1+LizFBx1kUWvpM=; b=hERyvxaFOgk3HokslMa3zDQKEyznhXhBxXpoRS4Lg9ClSJKdnkmizyYKJdx0sfP9Su ijpR0HP+UK99XU2awXaYnsLut6AlGGGJpKNzVnYxzJnwoogElvsT/FtfNf+jxbJQ2TJK gyJh4nIhCOp9/K+VYTaHi0ZHbEHXforeRMc9C9G5wBRNAvJ/ekONaj4SSchIQk6+y3Nm eW5hOEerdXTEEPzRJi4KD9gZovg4VX9zrM9iX0sH+CDjXNtvuKjKffFkBSUeB7Mv3IAF DKEhOCzk1iwNWxlQQwoMbWvrAitBacSJP0EEKD2aQkBmRyXx0hsB9kzQVYCEgRhQIxBA B6wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598145; x=1720202945; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iPjL6ORxfcbcSywP6tXKN3XgBVxZ1+LizFBx1kUWvpM=; b=Bbrk+6L2g2i2jda3yRIHRNKFabGajnYwuTSnFp45V3adprWFDPysOA9lH5S4vHSokN byHS2yPvaIsHb/4rN484kIHdIH9iLzN9+E4chxs28x6cXTMeoJDWsa3fu90mZxQFIlgq 318PyWoeMrtI5CurDYzhprKUZKtKlkVpOdow84J+ZnoVYs1CkSkYcLe65AHhvcbp9q16 S/il0Stgeb+mZrR5vznkmc4hll4X72kwBy89L9huBCDbiPweLIu5+T/Hqz2lnFkdk7MD OEvXMxVH3MbvGdwZBoDIAkv9EsnOAfCfWQrjMIaOWViUXHr/4xwVFgFKdyPj36ai9nSf 2/fQ== X-Forwarded-Encrypted: i=1; AJvYcCXc9LGJHG8KxcOpieOvX7R2adw4NI3fqURaKIh+QCzzqqkoEZyfUafidOO13OGaXJUzMlZTdNBuP5xq1zIY6cEJJmjQAi/fPbcs19Zv X-Gm-Message-State: AOJu0Yw38TrWxXe/5HhEq3WJZBOgfRiBzLRhXSTwubNOEt3vhBO9EWOR QLbRL1c5K764rwMrC+MCZEH5haDVbDxJTkvCb17FBx5HIfij4vF5 X-Google-Smtp-Source: AGHT+IE+8ChQtulMhadJgbwyhFCNkwINJZRVm5GvacmeQhYE8fDwdcsKKYNUc1CNoqwRvnfviNUoGQ== X-Received: by 2002:a05:6a00:990:b0:706:750c:8dda with SMTP id d2e1a72fcca58-706750c8efcmr27072902b3a.6.1719598145501; Fri, 28 Jun 2024 11:09:05 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:05 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/10] ARM: pxa/gumstix: convert vbus gpio to use software nodes Date: Fri, 28 Jun 2024 11:08:43 -0700 Message-ID: <20240628180852.1738922-4-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Switch vbus gpios from using a custom GPIO lookup table to software properties using PROPERTY_ENTRY_GPIO() constructs which closely mimic device tree gpio properties. Signed-off-by: Dmitry Torokhov Reported-by: Arnd Bergmann Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/devices.c | 4 ++++ arch/arm/mach-pxa/devices.h | 4 ++-- arch/arm/mach-pxa/gumstix.c | 22 +++++++++------------- arch/arm/mach-pxa/pxa25x.c | 1 + 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 7cc6db2d1615..e2758c94fd77 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c @@ -629,6 +629,10 @@ struct platform_device pxa27x_device_pwm1 =3D { }; #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ =20 +const struct software_node pxa2xx_gpiochip_node =3D { + .name =3D "gpio-pxa", +}; + struct resource pxa_resource_gpio[] =3D { { .start =3D 0x40e00000, diff --git a/arch/arm/mach-pxa/devices.h b/arch/arm/mach-pxa/devices.h index 82c83939017a..b7c0e138ef61 100644 --- a/arch/arm/mach-pxa/devices.h +++ b/arch/arm/mach-pxa/devices.h @@ -53,8 +53,8 @@ extern struct platform_device pxa_device_asoc_ssp4; =20 extern struct platform_device pxa25x_device_gpio; extern struct platform_device pxa27x_device_gpio; -extern struct platform_device pxa3xx_device_gpio; -extern struct platform_device pxa93x_device_gpio; + +extern const struct software_node pxa2xx_gpiochip_node; =20 void __init pxa_register_device(struct platform_device *dev, void *data); void __init pxa2xx_set_dmac_info(struct mmp_dma_platdata *dma_pdata); diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index c9f0f62187bd..b9eddc691097 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c @@ -100,26 +100,22 @@ static void __init gumstix_mmc_init(void) #endif =20 #ifdef CONFIG_USB_PXA25X -static struct gpiod_lookup_table gumstix_gpio_vbus_gpiod_table =3D { - .dev_id =3D "gpio-vbus", - .table =3D { - GPIO_LOOKUP("gpio-pxa", GPIO_GUMSTIX_USB_GPIOn, - "vbus", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("gpio-pxa", GPIO_GUMSTIX_USB_GPIOx, - "pullup", GPIO_ACTIVE_HIGH), - { }, - }, +static const struct property_entry spitz_mci_props[] __initconst =3D { + PROPERTY_ENTRY_GPIO("vbus-gpios", &pxa2xx_gpiochip_node, + GPIO_GUMSTIX_USB_GPIOn, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("pullup-gpios", &pxa2xx_gpiochip_node, + GPIO_GUMSTIX_USB_GPIOx, GPIO_ACTIVE_HIGH), + { } }; =20 -static struct platform_device gumstix_gpio_vbus =3D { +static const struct platform_device_info gumstix_gpio_vbus_info __initcons= t =3D { .name =3D "gpio-vbus", - .id =3D -1, + .id =3D PLATFORM_DEVID_NONE, }; =20 static void __init gumstix_udc_init(void) { - gpiod_add_lookup_table(&gumstix_gpio_vbus_gpiod_table); - platform_device_register(&gumstix_gpio_vbus); + platform_device_register_full(&gumstix_gpio_vbus_info); } #else static void gumstix_udc_init(void) diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 2ab3d8d66466..03e34841fc00 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c @@ -239,6 +239,7 @@ static int __init pxa25x_init(void) register_syscore_ops(&pxa2xx_mfp_syscore_ops); =20 if (!of_have_populated_dt()) { + software_node_register(&pxa2xx_gpiochip_node); pxa2xx_set_dmac_info(&pxa25x_dma_pdata); ret =3D platform_add_devices(pxa25x_devices, ARRAY_SIZE(pxa25x_devices)); --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 486EE1CD5CF for ; Fri, 28 Jun 2024 18:09:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598148; cv=none; b=bqFKZWEPXh0LtG6cZdY4zx+bds9R7YGih1ymqC/oHeUoUhPuUnrOSiblA5yMayVKCppZdZHD3bohJxJi/f4evrvRke2PbRAqh59TTH1+JKNHMvh4rHDxrW3Q70NKRLJY5zInpUU+EyXlO5XajTMCz0Il5K0KP8PuY6iONUXH8rE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598148; c=relaxed/simple; bh=YTPcsjJK2fRTzATLl7n4i9oWkpdpTCcSR1oKY0zflQQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PPirdbHz/1AeCC5WRJfDlfpxGcfz99oK9gy0l1+KliyEAMAmYtQWgR0F8wwm0tJUin8GH44nLwSSqRTpSAEgRS/Vz4DEoGjfliVcpHnRKPlzXiXkxTdzU1z9+/gvJCJVltXCl5z+wNbQL3zO6abQ4nRVx+21reEoiHfe1icpNoU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bVQXm983; arc=none smtp.client-ip=209.85.210.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bVQXm983" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-7066c9741fbso772939b3a.2 for ; Fri, 28 Jun 2024 11:09:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598146; x=1720202946; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wmoY9MC+b9hOZcGZXOQJ0Uh4Gl8qIWXCfwHUYEIgVNk=; b=bVQXm983T2pD7OYAgzbGfMQq/P7z4ThQCtOCSt9iuqsuPwWK8Krel/NJ8/K4slEs00 mOhIGhf28psh9YBLWcFi+3wNbfYPbgaBbgTFa5ke6kc2lQWm75wSOezu3LxXpuTm5zSw mf72L9EfxgY8FQpaFGSpdPpsSEh+dQG5+LzeKtfLV5iwqWxpb2tRkickpB1v2h9QfV+M WyZx1zPq3XI1LsTA/IZHyBVlGGKOv2VgLjHL7SBnblTeE8NpIWXtDVCisS547QVRtzWi JgxVo9aT4TXCxkwvgYSbWo7xX1ZdPzMPDpwkr4TFn7DiyozzUffc4a6F/pXcia+ZZQpM tmJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598146; x=1720202946; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wmoY9MC+b9hOZcGZXOQJ0Uh4Gl8qIWXCfwHUYEIgVNk=; b=Z4JcAGNUJlOmf67VSwnDm+I7DhBB1ixOYrU9vY1OC05zw7PAhcGSQZahj0FK1XpjTF 4zJdyT/Gp1K4ljS+Cuc3Sf3ZIYUVI1l9xXRmnS9/qePvSrAdf+FkEyB/FpGMcPbPGsp5 vA9MckDpo3sCJgZv5r0ZuTmn5VOtUgBuUsNHsTtkqFK/kJv0wVbZRmRcruO8hKsl1QVZ fHuY1kDg5IK6enn0iNE3QUHIuyPIdk8h5exhIMv4+SHinNikpYe2o7YCcZwhcIKUKV9m 6o6aQskshOI8JIcVVJ6Kkra7Huvi4/fpqMcw3VtE2N/ZX980Gn0ZjXyCftMMIRa5r9P/ Qyrg== X-Forwarded-Encrypted: i=1; AJvYcCWVgS6kj0Gfeyo1ixY68zdBqPAd75yXmAxVua61vtzWL3zjyHQuvaX34hCCGxo2u/ZNAMGrolNUqRU8Ez1iW2JMq6td0N5Q0pS1oket X-Gm-Message-State: AOJu0YzHo/XDIe47XZ7ZdVbTUcvfhKvMeW1nAUwqTcXuRYk/zrPgNhCF xTz619A4jGS/bP6KCZsaB41s/9x5hB/hwXKqYUBXWdrcHfruUWym X-Google-Smtp-Source: AGHT+IFym5PAI16Os9Hfp7AYeddl0ojmEh3aJykbFJxWnw9ufaFP8zsIAOZN9UfNjvXStDqZSy006Q== X-Received: by 2002:a05:6a00:b91:b0:705:b81b:6ee2 with SMTP id d2e1a72fcca58-706745e809bmr23126817b3a.19.1719598146472; Fri, 28 Jun 2024 11:09:06 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:06 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/10] ARM: spitz: Simplify instantiating SPI controller Date: Fri, 28 Jun 2024 11:08:44 -0700 Message-ID: <20240628180852.1738922-5-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" platform_device_register_full() to instantiate SPI controller in one go instead of allocating it, creating a software node, and registering the platform device as separate steps. Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/spitz.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 10ab16dcd827..b14eb2a54f80 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -580,14 +580,16 @@ static const struct property_entry spitz_spi_properti= es[] =3D { { } }; =20 -static const struct software_node spitz_spi_node =3D { +static const struct platform_device_info spitz_spi_device_info =3D { + .name =3D "pxa2xx-spi", + /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID= + 1 */ + .id =3D 2, .properties =3D spitz_spi_properties, }; =20 static void __init spitz_spi_init(void) { struct platform_device *pd; - int id =3D 2; int err; =20 if (machine_is_akita()) @@ -598,19 +600,11 @@ static void __init spitz_spi_init(void) gpiod_add_lookup_table(&spitz_ads7846_gpio_table); gpiod_add_lookup_table(&spitz_spi_gpio_table); =20 - /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID= + 1 */ - pd =3D platform_device_alloc("pxa2xx-spi", id); - if (pd =3D=3D NULL) { - pr_err("pxa2xx-spi: failed to allocate device id %d\n", id); - } else { - err =3D device_add_software_node(&pd->dev, &spitz_spi_node); - if (err) { - platform_device_put(pd); - pr_err("pxa2xx-spi: failed to add software node\n"); - } else { - platform_device_add(pd); - } - } + pd =3D platform_device_register_full(&spitz_spi_device_info); + err =3D PTR_ERR_OR_ZERO(pd); + if (err) + pr_err("pxa2xx-spi: failed to instantiate SPI controller: %d\n", + err); =20 spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); } --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A76E1CE094 for ; Fri, 28 Jun 2024 18:09:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598150; cv=none; b=XHkn7D3h39qp4lgPhOQ/U1bW2HO1yGA+ACR7v01nf2uqwp7JCNqU5kuEZN3xopYSpEKac3F44lO4n3q4STRhwNIRrThHa+aFfY4m0RVnJLSlscMzY3qVJ/YUt+QkZts6MfUX/DK+eUoOTqieUHISYTmKVavVFy0yCaNku9AZThY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598150; c=relaxed/simple; bh=rl1wjAs5QJ6h0B0kclVXLFOa9kbDihXJxFlq+OFbjlg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=awJAq7ch4TJNgl8kau6hbp+jXQHDB+2B+9/uSQdAMPIJgJZuNXlQkmxRY/GYpAsDoO6nk5oeQwei8P9WJNzqYQMhKa2a4YNoRM+1h8efC+7UOsVEc774X5RJ51ttxbjzcGH4D5G3HGOnEzQFPlXEE1lyYYVZBBc19x7CnHgt63Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=abxVNaZf; arc=none smtp.client-ip=209.85.167.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="abxVNaZf" Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-3c9b94951cfso499983b6e.3 for ; Fri, 28 Jun 2024 11:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598147; x=1720202947; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fVMwheqA5PLjXICrqtVucOfQhWX0Fpnfz1fEEhxd/KA=; b=abxVNaZfz3kLKZ4LeR+2zng1f17rvLIEJuyPh0cpqOowPVu6lGVgf6Rj8bsX3fAiR4 E8JeCa7pOIx3uWbWTGYUh0RSvG1BheB1hrtcvKn/FvmD6BYvQilrmCG48dHDNUvAk53U InWlOlPyQSF28rRqNxGq6zQC+Ma8GcpxMy/bj0Ww1QoXPPZB/psRczlxtl/muz4cv9Yw VIjfKSZz6P4xlW2qlnp/SpYr1o4icJafZrq7YmvVNM+FjJX5WpXazpX1aYaCpiqbT57n 6+wxVw+Qt0gT2LaYQNiKvpRs8Yk427ctujNXTBYxBg7O1z6UM7vyAXLppK74gOWeS3lb 9sRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598147; x=1720202947; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fVMwheqA5PLjXICrqtVucOfQhWX0Fpnfz1fEEhxd/KA=; b=NNHO+j1GmkdDE1uBpy0zjHK5vGGiRUsNwBxQ26ACDOiro6qw8QkJmb1G1LSwe367FZ 50IRgkw2o9IFdK3wOA/Sf/gg/PNWADdPkx5L7bFaDuaZdjHrukTtOjaqINACiFdFo4cM /mnATWRjREe+bi3P+xqk8Rbh474EIkHq60L+IzllMNiqrhHVloiBq8bAgqkpKdOjw3gW K0uiL6T6a9hLio2T23lMHKlyzdo5uq4lL+7cgK+u8swiC6tYgxylDqlPn8YUCpYnFDqF v+CLUVqAa0Zcd2mxjKanJy5Sv/kiWtJXbX/LA6x/DOB5oiiExoOcoT0WJ3VVunobvJoy 9zog== X-Forwarded-Encrypted: i=1; AJvYcCWvRSdm3XP9QVTIScrgYkpJ5lrOvMISw+orbdALVMSq1otrJyBiAArEbyHrD0OzPSxMBMRuFtIU3XbbzkBb7cz5iwEimWqWqCM99QtI X-Gm-Message-State: AOJu0Yxtm8tC1efpNtjsfeNdzghkQTabeYstj3PO4wo06agJ1lUn8RaV FK62uw4DDAbvgCbT/OgjDbG3xsigYpTIKbksIJPzAqolb45EU/Fc X-Google-Smtp-Source: AGHT+IGNZSGJXSF1ny8x7rMmOSnm4p25k/DcV8pt4n6UZoIc2gM1XH3BV8U4qDA1RrIettcCykcLqQ== X-Received: by 2002:a05:6808:2219:b0:3d2:212e:71a0 with SMTP id 5614622812f47-3d54594bcd4mr20676903b6e.6.1719598147504; Fri, 28 Jun 2024 11:09:07 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:07 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 05/10] ARM: spitz: Use software nodes to describe SPI CS lines Date: Fri, 28 Jun 2024 11:08:45 -0700 Message-ID: <20240628180852.1738922-6-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Linus Walleij Convert the Spitz to use software nodes for specifying SPI CS. Because the SPI core can figure out the number of chipselects from the number of GPIO handles specified in properties, setting "num-cs" property is no longer needed. Signed-off-by: Linus Walleij Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/pxa27x.c | 1 + arch/arm/mach-pxa/spitz.c | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index b135b9ef665c..f8382477d629 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c @@ -341,6 +341,7 @@ static int __init pxa27x_init(void) register_syscore_ops(&pxa2xx_mfp_syscore_ops); =20 if (!of_have_populated_dt()) { + software_node_register(&pxa2xx_gpiochip_node); pxa2xx_set_dmac_info(&pxa27x_dma_pdata); ret =3D platform_add_devices(devices, ARRAY_SIZE(devices)); diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index b14eb2a54f80..504d04bb2df7 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -28,6 +29,7 @@ #include #include #include +#include #include #include =20 @@ -128,7 +130,6 @@ static unsigned long spitz_pin_config[] __initdata =3D { GPIO1_GPIO | WAKEUP_ON_EDGE_FALL, /* SPITZ_GPIO_RESET */ }; =20 - /*************************************************************************= ***** * Scoop GPIO expander *************************************************************************= *****/ @@ -565,18 +566,17 @@ static struct spi_board_info spitz_spi_devices[] =3D { }, }; =20 -static struct gpiod_lookup_table spitz_spi_gpio_table =3D { - .dev_id =3D "spi2", - .table =3D { - GPIO_LOOKUP_IDX("gpio-pxa", SPITZ_GPIO_ADS7846_CS, "cs", 0, GPIO_ACTIVE_= LOW), - GPIO_LOOKUP_IDX("gpio-pxa", SPITZ_GPIO_LCDCON_CS, "cs", 1, GPIO_ACTIVE_L= OW), - GPIO_LOOKUP_IDX("gpio-pxa", SPITZ_GPIO_MAX1111_CS, "cs", 2, GPIO_ACTIVE_= LOW), - { }, - }, +static const struct software_node_ref_args spitz_spi_gpio_refs[] =3D { + SOFTWARE_NODE_REFERENCE(&pxa2xx_gpiochip_node, SPITZ_GPIO_ADS7846_CS, + GPIO_ACTIVE_LOW), + SOFTWARE_NODE_REFERENCE(&pxa2xx_gpiochip_node, SPITZ_GPIO_LCDCON_CS, + GPIO_ACTIVE_LOW), + SOFTWARE_NODE_REFERENCE(&pxa2xx_gpiochip_node, SPITZ_GPIO_MAX1111_CS, + GPIO_ACTIVE_LOW), }; =20 static const struct property_entry spitz_spi_properties[] =3D { - PROPERTY_ENTRY_U32("num-cs", 3), + PROPERTY_ENTRY_REF_ARRAY("gpios", spitz_spi_gpio_refs), { } }; =20 @@ -598,7 +598,6 @@ static void __init spitz_spi_init(void) gpiod_add_lookup_table(&spitz_lcdcon_gpio_table); =20 gpiod_add_lookup_table(&spitz_ads7846_gpio_table); - gpiod_add_lookup_table(&spitz_spi_gpio_table); =20 pd =3D platform_device_register_full(&spitz_spi_device_info); err =3D PTR_ERR_OR_ZERO(pd); --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D3C91CE0BA for ; Fri, 28 Jun 2024 18:09:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598151; cv=none; b=Q0Q9gwl5rToctz4ToTP1R7r5SlOYJAIR/FUa5VRzAQunVPrSonAmhDdYyBd3r/TpG0WLgNZ1XchBa66NUSa2+5oQCx6JYrQPqpDOpTkfVMr7LehqD+L6xdiJbpMh0tSr6N9S2TfUWEIQvCl3+q06m3IHVGY4zzQB151pHG/bF9k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598151; c=relaxed/simple; bh=anDuepRKOPsxjBvbzbzwrrTngbIsz2SzLe9MowNxA4c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WVuT0nB2OIUNtcVp7R4nRFz0f1oXAkA6oSem4po3uhRFAQUhhJeHi76//W388qXJ+/pP/GclsJACZOPIGZyVvhg7GIjWW4SJ5GkoR1QMPz6LUn17xjwY0OY1PeDlCWNEFc6DlcfTOrhPYWBlm0/bkfRuvTLlAyScIgCq+88e2W8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZxyinHEQ; arc=none smtp.client-ip=209.85.210.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZxyinHEQ" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-706b539fcaeso1467412b3a.0 for ; Fri, 28 Jun 2024 11:09:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598149; x=1720202949; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ay9TI8HWK+oR18tT8EQNVS4HczzSY9JpQeS8IURTtMg=; b=ZxyinHEQBTm8cG1sefWWwYr79plzHPthJVzMvBymJcmVkinXWOxuAtQ77/iH6+kkBH eFTfMQjsaIRqWcTqtWJorZ1OttEqrrJWsX8lyovMr9YPvJZSeKvdPHzkxUI6tu/cJzIQ 4UwRLdGOmyxMu8ZNyiGhfXFI9L89hEZzq6da4EIXRVoUa3OD5JtOBHGzF0a05TtIgzz1 zRVDScggp6pVGnC5jfX4ehkXuBcfqFjU3iBwBC4vJoYg9y3hkGsYwAzzya10pLDwub+x ZJ6vc8Th773y6jzl+61ObpVXbsxrvmfwKD2F24rHfPEn7esqThWxi1bJwSWd/OUNgQhv iG/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598149; x=1720202949; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ay9TI8HWK+oR18tT8EQNVS4HczzSY9JpQeS8IURTtMg=; b=mGOqYz+bgtGSfSVLzm8SkVHZLG4kxhAthgcO7kN9GjNG0sA+Hd3CeTMlbsWz/PtP83 9cM/A1PrWgJ2xwmXHdhaRu8BLmOosoho1M/iwnQ4K0n9CT3Leh5w54gRdrKtF4y1HNiB F6STIdSeZ++kpnvcfxIHF8RtMLxILk6DHuE63p83h2Tkl72jAuFIBppM9cQGtBOnqMhh 8yUEP9nt7HaOvauLT31gldRsBkaY5DTolSGI4UcB/mxHEvdv7mszV5VwKUo0EV7eTChb kTt/xEMZWtky7Uf0LzUOidKL+aCuyl4hP1UOP4tw3eFK3G4Y3uWaX7IkkyELEP9AYNrE LcBg== X-Forwarded-Encrypted: i=1; AJvYcCU+dwf62O0QZpxess2ajDZvAv6aIqY/diZyeqpI/GBOSXcHUYG3v7dbTR8Ix4892WnHSBhMvkU0jLhKyBSGg+NQpp7u5100KErxpcNf X-Gm-Message-State: AOJu0YyAqTTo75/tJU5NgYvjvA5jb6Dopte58SyjR9oT1RpdU5eFONLg hq8jRB+0hQnTJOoCq8AR8rNDevI1Ygxj+T+xj0kNmdvOwuTeGI2k X-Google-Smtp-Source: AGHT+IFUdHHXsh+kQq1MNIc7SmoyKk0Wy8cjfjvnFWozynmhMcEHlK3wZYCzHdSPBhIp8OVcAk/pbA== X-Received: by 2002:a05:6a20:3947:b0:1bd:208a:3b20 with SMTP id adf61e73a8af0-1bee4926d26mr3662610637.14.1719598148636; Fri, 28 Jun 2024 11:09:08 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:08 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 06/10] ARM: spitz: Use software nodes to describe audio GPIOs Date: Fri, 28 Jun 2024 11:08:46 -0700 Message-ID: <20240628180852.1738922-7-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert Spitz to use software nodes for specifying GPIOs for the audio chip. Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/spitz.c | 66 ++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 504d04bb2df7..278d49ed7a9c 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -130,6 +130,20 @@ static unsigned long spitz_pin_config[] __initdata =3D= { GPIO1_GPIO | WAKEUP_ON_EDGE_FALL, /* SPITZ_GPIO_RESET */ }; =20 +static const struct software_node spitz_scoop_1_gpiochip_node =3D { + .name =3D "sharp-scoop.0", +}; + +/* Only on Spitz */ +static const struct software_node spitz_scoop_2_gpiochip_node =3D { + .name =3D "sharp-scoop.1", +}; + +/* Only on Akita */ +static const struct software_node akita_max7310_gpiochip_node =3D { + .name =3D "i2c-max7310", +}; + /*************************************************************************= ***** * Scoop GPIO expander *************************************************************************= *****/ @@ -950,24 +964,24 @@ static void __init spitz_i2c_init(void) static inline void spitz_i2c_init(void) {} #endif =20 -static struct gpiod_lookup_table spitz_audio_gpio_table =3D { - .dev_id =3D "spitz-audio", - .table =3D { - GPIO_LOOKUP("sharp-scoop.0", 3, "mute-l", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("sharp-scoop.0", 4, "mute-r", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("sharp-scoop.1", 8, "mic", GPIO_ACTIVE_HIGH), - { }, - }, +static const struct property_entry spitz_audio_props[] =3D { + PROPERTY_ENTRY_GPIO("mute-l-gpios", &spitz_scoop_1_gpiochip_node, 3, + GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("mute-r-gpios", &spitz_scoop_1_gpiochip_node, 4, + GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("mic-gpios", &spitz_scoop_2_gpiochip_node, 8, + GPIO_ACTIVE_HIGH), + { } }; =20 -static struct gpiod_lookup_table akita_audio_gpio_table =3D { - .dev_id =3D "spitz-audio", - .table =3D { - GPIO_LOOKUP("sharp-scoop.0", 3, "mute-l", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("sharp-scoop.0", 4, "mute-r", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("i2c-max7310", 2, "mic", GPIO_ACTIVE_HIGH), - { }, - }, +static const struct property_entry akita_audio_props[] =3D { + PROPERTY_ENTRY_GPIO("mute-l-gpios", &spitz_scoop_1_gpiochip_node, 3, + GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("mute-r-gpios", &spitz_scoop_1_gpiochip_node, 4, + GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("mic-gpios", &akita_max7310_gpiochip_node, 2, + GPIO_ACTIVE_HIGH), + { } }; =20 /*************************************************************************= ***** @@ -975,12 +989,14 @@ static struct gpiod_lookup_table akita_audio_gpio_tab= le =3D { *************************************************************************= *****/ static inline void spitz_audio_init(void) { - if (machine_is_akita()) - gpiod_add_lookup_table(&akita_audio_gpio_table); - else - gpiod_add_lookup_table(&spitz_audio_gpio_table); - - platform_device_register_simple("spitz-audio", -1, NULL, 0); + struct platform_device_info audio_info =3D { + .name =3D "spitz-audio", + .id =3D PLATFORM_DEVID_NONE, + .properties =3D machine_is_akita() ? + akita_audio_props : spitz_audio_props, + }; + + platform_device_register_full(&audio_info); } =20 /*************************************************************************= ***** @@ -1003,6 +1019,12 @@ static void spitz_restart(enum reboot_mode mode, con= st char *cmd) =20 static void __init spitz_init(void) { + software_node_register(&spitz_scoop_1_gpiochip_node); + if (machine_is_akita()) + software_node_register(&akita_max7310_gpiochip_node); + else + software_node_register(&spitz_scoop_2_gpiochip_node); + init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0); pm_power_off =3D spitz_poweroff; =20 --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8E591CF3D5 for ; Fri, 28 Jun 2024 18:09:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598152; cv=none; b=JLMT9m7a3OypuV7yqavbBydA2+fknIGIeD2RQyl6hWu1BhWZRdguN6ENMimIWs1rt/QBspN3C1F8bWlvqr40bsYQQ1QcfLf5BVoqjsY0YgSW4Db/uBG1u9rohrppj8xpotwCDQ/oPKrlvGG0kvyfe5NfXlk7gaNx2tS71wOgfec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598152; c=relaxed/simple; bh=1zcd4R2lp/AHuk9JVpfb/S63amBrYlrQkTGPofwNVPo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hQH+otLCJM5tbbHjIGydWF9jRzWpLLJMCO6MvPMkxTe9xk9zIi2s6GqM6iNIedNvYxS3YMZKS75YMJqdHn4CtLmee1VN+62Jq94o6bnucTvZjTyfInvbV+pGfc2oagxUokixRcy9W172OHbzmp4nfKVPnKA8phw/uK1Tn8V7a1g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Jahm3RKS; arc=none smtp.client-ip=209.85.167.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Jahm3RKS" Received: by mail-oi1-f171.google.com with SMTP id 5614622812f47-3d5666a4860so530686b6e.2 for ; Fri, 28 Jun 2024 11:09:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598150; x=1720202950; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TES+PR3oco/zso5TBiV82fiMxzPeRQiTqnjOENaSm6Y=; b=Jahm3RKSKbufnKSnf+owRUrpug7OdGCOI1sPDzDWolJrhEu8vw33+XkFkFjZIr+IWF nhfzthGgYXIXAzG6PZMFMuy128SnKgChCeMY/nDe+K1KekaxywqH9XXl+wrIeSHOEbyk GJe+/cTt/3oE0uT94DjXnO9UwbQ+wLmrkvh/sA9cdyDTzqcoIsu7nWvr0QAZg+oOhvPO TCdB/tqT1t2/+jOKEJpFWtOEHAoi3WmU/i9FtyJcxrvqHD7gBW6+gO4t86qYq0JpZl26 lLfp01FLCT3Vgw23ukTTnDNxXZ90H1OVN8gmlx7cD3Pi8j0FdKTnzmOA/SsvaB2q2776 NSnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598150; x=1720202950; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TES+PR3oco/zso5TBiV82fiMxzPeRQiTqnjOENaSm6Y=; b=ZTpGrlekvQIvjWbvHM6Q5mCbl6CMRHYyXxR99kc+52QL3BlTVGlcEfciHksJy8EyGw ffh5nl62SQqq8xrmNbzfY7i4/zkX1nQZ7kUHCrXcAK4f19oXuRqqirLVaM2GEpi/f9CA 1XbvWZVhRPtz08yXopIyXUNKMl5unhYI3xFOlR3g6mLZw8S4Ipy/U8Le363yB2T3xz50 x+aYRV18K1vTNMtahDABvhplcKdJu8jpMWuJIlGTaJgL7XekBSbaWn0hH2panSXRO8BU ukpdc8jlUiWhRyhnmPcDVJYTC0xIrtwKkwSm/0ugDq8T0sLqwTksDQBPFqMTK7HVo9/K cxgg== X-Forwarded-Encrypted: i=1; AJvYcCVNl/Z6hmSdF2WubxKhNXYCRUhjh8nJxCVazmhgCqwfhxJ0qlKFZeD/iiFNYVj60ZnduD/O9EYUm+N3uQ+us4skzAnr2eKcnQSwUGUi X-Gm-Message-State: AOJu0Yxiv4nSKdvKHSltVTdGe6CHHkGYcflplMJveMnnJroJpckK+PIf E15MrRnK08ldJMIaeyIk2qNNsx1GJXFnYyQF3IKIOl7ZuLuO88Q+ X-Google-Smtp-Source: AGHT+IFbVQmOnqIXtYzrw7G3AGIcltAq/SwDu0tAxwBmNb/x6ZxkTvrB7B5PQEu7pirK0ugnnATPyg== X-Received: by 2002:a05:6808:16a6:b0:3d2:22c6:59d3 with SMTP id 5614622812f47-3d541c50f73mr19803715b6e.6.1719598149794; Fri, 28 Jun 2024 11:09:09 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:09 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/10] ARM: spitz: Use software nodes to describe LCD GPIOs Date: Fri, 28 Jun 2024 11:08:47 -0700 Message-ID: <20240628180852.1738922-8-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert Spitz to use software nodes for specifying GPIOs for the LCD. Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/spitz.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 278d49ed7a9c..c79510185ce3 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -532,22 +532,24 @@ static struct gpiod_lookup_table spitz_ads7846_gpio_t= able =3D { }, }; =20 -static struct gpiod_lookup_table spitz_lcdcon_gpio_table =3D { - .dev_id =3D "spi2.1", - .table =3D { - GPIO_LOOKUP("sharp-scoop.1", 6, "BL_CONT", GPIO_ACTIVE_LOW), - GPIO_LOOKUP("sharp-scoop.1", 7, "BL_ON", GPIO_ACTIVE_HIGH), - { }, - }, +static const struct property_entry spitz_lcdcon_props[] =3D { + PROPERTY_ENTRY_GPIO("BL_CONT-gpios", + &spitz_scoop_2_gpiochip_node, 6, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("BL_ON-gpios", + &spitz_scoop_2_gpiochip_node, 7, GPIO_ACTIVE_HIGH), + { } }; =20 -static struct gpiod_lookup_table akita_lcdcon_gpio_table =3D { - .dev_id =3D "spi2.1", - .table =3D { - GPIO_LOOKUP("i2c-max7310", 3, "BL_ON", GPIO_ACTIVE_HIGH), - GPIO_LOOKUP("i2c-max7310", 4, "BL_CONT", GPIO_ACTIVE_LOW), - { }, - }, +static const struct property_entry akita_lcdcon_props[] =3D { + PROPERTY_ENTRY_GPIO("BL_ON-gpios", + &akita_max7310_gpiochip_node, 3, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("BL_CONT-gpios", + &akita_max7310_gpiochip_node, 4, GPIO_ACTIVE_LOW), + { } +}; + +static struct software_node spitz_lcdcon_node =3D { + .name =3D "spitz-lcdcon", }; =20 static struct corgi_lcd_platform_data spitz_lcdcon_info =3D { @@ -572,6 +574,7 @@ static struct spi_board_info spitz_spi_devices[] =3D { .bus_num =3D 2, .chip_select =3D 1, .platform_data =3D &spitz_lcdcon_info, + .swnode =3D &spitz_lcdcon_node, }, { .modalias =3D "max1111", .max_speed_hz =3D 450000, @@ -606,11 +609,6 @@ static void __init spitz_spi_init(void) struct platform_device *pd; int err; =20 - if (machine_is_akita()) - gpiod_add_lookup_table(&akita_lcdcon_gpio_table); - else - gpiod_add_lookup_table(&spitz_lcdcon_gpio_table); - gpiod_add_lookup_table(&spitz_ads7846_gpio_table); =20 pd =3D platform_device_register_full(&spitz_spi_device_info); @@ -619,6 +617,8 @@ static void __init spitz_spi_init(void) pr_err("pxa2xx-spi: failed to instantiate SPI controller: %d\n", err); =20 + spitz_lcdcon_node.properties =3D machine_is_akita() ? + akita_lcdcon_props : spitz_lcdcon_props; spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); } #else --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 826911CF3EC for ; Fri, 28 Jun 2024 18:09:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598153; cv=none; b=NgLH++VThCQyT5IRSWGr0SClj8pCO1A9rbq1Ew8BxEff7F6uGqPUmoFKQFTX7GYftp0LGW5KPhg+X8pta2EvtzRNt9wmvr96xB3OT5FYClWocjvxMIs3lEhFOnMV+V+9TOP369Ey1nSoAH/ZaF1Pukn8iIaDCfggjsEB8pdkV4E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598153; c=relaxed/simple; bh=kx2w00EUkGBRq8ifttKE/WbhNNEqEK/tRx/av/kSf5g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qx3K8WScrIUwTA0JlPdA9wlkKPGGXfEwUuIFb7pPESFpFYx6dLZlkrZRtAQV60vtO5XHwAbuO5MI4LS3CfZMEKh9x60jqJji20US4+kwHv+YH3rkt3Z3+cGdR0cKt+D26CZ/OXyKSaDoOxr0rmaOvHJtB+5InuatoR5dwYxHu54= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hyIMfYI4; arc=none smtp.client-ip=209.85.210.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hyIMfYI4" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-7066a4a611dso665268b3a.3 for ; Fri, 28 Jun 2024 11:09:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598151; x=1720202951; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mZZQERlIGvlDT2ctdsAJWWSJ3qbII640NDh+Pz14HqU=; b=hyIMfYI47wOHFwRIDoue3JH2s4rZkFA6fGfont5g2cXUP+Z5CbEbYqvTIketqc3hWX GNyqsZEd/tNPgMVGX/ooeMeon9RclzIFnfIUof0k6b4KryCJC7e+asnPGv3XvGE5s8y3 TqLpp3h5hpUfafeDfNlnpBmWJPVta47Cf2tMXgBvcnzkJRRbeYTJ/6T5kZV0QYIwyKkg waij5xQciTbBIbQ2gXK2SNC4u6rR4SflhHu1Or3t1+F7U2Z0R56vqlpnqjMDdHb9YC7i poWRlu4xieVsd/lIE0RkjW/jd6aDdMbEdgGbq9fyzE3fH5dlZETmo5wCkmphqW98/6+E 5U0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598151; x=1720202951; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mZZQERlIGvlDT2ctdsAJWWSJ3qbII640NDh+Pz14HqU=; b=J2h3T/LjyGK3oZmxh5AGXz5UfE92qqrtNjet5qWYdTnnrspOpgm4+ea3mp73M5eJ6d MXk6SUlnUXcLwOH5LTt2AzuiRQHt4nqJ2f2t60a1++VGjMbeg2HskyOQOor6FJGOp1xe UxP/oW3eocuVr5S7eNvNPLi/mTMfoGnt6l8Brw4a59kH6u3/NL1WA3h7KWRitORZVoqL +sZ583seq5HAn1j6RoHcusDpwQmRgyia8y6U/q1crGyJ6AWdJFwM0Dce6ypfCINDJoFq OKEpHnygDAQl/ACyccw8dLqYRsQ+4G0DT9wc7Hn8iO1Tkd+O/+/Gxd6Ew8Xw6Re51X4+ fWHg== X-Forwarded-Encrypted: i=1; AJvYcCU3i2nz2rj92mC0aHVcL15kHyBED5GhyCp7L7Wy1tBlXQkny35qf4bNWIgnt826GyQlWNoGjHwufDHkhMiHCbjnF4sOcKbjb9XDxyQy X-Gm-Message-State: AOJu0Yx9NVtDxeUVN+HoEuOaSJgI1Xm10iJbWfNQS/JI4o0ULcYQX2P2 jIGoxxwGZKlHzMjB+gZ+skF/rjgxPkSAFnHEa1sIdFJ59TA6+M4I X-Google-Smtp-Source: AGHT+IHkQkSp58snm0J9lMaUMbDp2cIe5JR1UZf7YHJIVSCoCLZlR/SP/vAyS5cqOgnfslds0UlWUA== X-Received: by 2002:a05:6a20:1225:b0:1be:c7d9:ecc5 with SMTP id adf61e73a8af0-1bec7d9ef7bmr7626980637.19.1719598150756; Fri, 28 Jun 2024 11:09:10 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:10 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/10] ARM: spitz: Use software nodes to describe MMC GPIOs Date: Fri, 28 Jun 2024 11:08:48 -0700 Message-ID: <20240628180852.1738922-9-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert Spitz to use software nodes for specifying GPIOs for the MMC. Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/devices.c | 36 +++++++++++++----------- arch/arm/mach-pxa/devices.h | 1 - arch/arm/mach-pxa/gumstix.c | 2 +- arch/arm/mach-pxa/spitz.c | 18 +++++------- include/linux/platform_data/mmc-pxamci.h | 4 ++- 5 files changed, 31 insertions(+), 30 deletions(-) diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index e2758c94fd77..d050a4c78f97 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c @@ -48,7 +48,7 @@ struct platform_device pxa_device_pmu =3D { .num_resources =3D 1, }; =20 -static struct resource pxamci_resources[] =3D { +static const struct resource pxamci_resources[] =3D { [0] =3D { .start =3D 0x41100000, .end =3D 0x41100fff, @@ -61,22 +61,26 @@ static struct resource pxamci_resources[] =3D { }, }; =20 -static u64 pxamci_dmamask =3D 0xffffffffUL; - -struct platform_device pxa_device_mci =3D { - .name =3D "pxa2xx-mci", - .id =3D 0, - .dev =3D { - .dma_mask =3D &pxamci_dmamask, - .coherent_dma_mask =3D 0xffffffff, - }, - .num_resources =3D ARRAY_SIZE(pxamci_resources), - .resource =3D pxamci_resources, -}; - -void __init pxa_set_mci_info(struct pxamci_platform_data *info) +void __init pxa_set_mci_info(const struct pxamci_platform_data *info, + const struct property_entry *props) { - pxa_register_device(&pxa_device_mci, info); + const struct platform_device_info mci_info =3D { + .name =3D "pxa2xx-mci", + .id =3D 0, + .res =3D pxamci_resources, + .num_res =3D ARRAY_SIZE(pxamci_resources), + .data =3D info, + .size_data =3D sizeof(*info), + .dma_mask =3D 0xffffffffUL, + .properties =3D props, + }; + struct platform_device *mci_dev; + int err; + + mci_dev =3D platform_device_register_full(&mci_info); + err =3D PTR_ERR_OR_ZERO(mci_dev); + if (err) + pr_err("Unable to create mci device: %d\n", err); } =20 static struct pxa2xx_udc_mach_info pxa_udc_info =3D { diff --git a/arch/arm/mach-pxa/devices.h b/arch/arm/mach-pxa/devices.h index b7c0e138ef61..72c556ff67db 100644 --- a/arch/arm/mach-pxa/devices.h +++ b/arch/arm/mach-pxa/devices.h @@ -4,7 +4,6 @@ struct mmp_dma_platdata; =20 extern struct platform_device pxa_device_pmu; -extern struct platform_device pxa_device_mci; extern struct platform_device pxa3xx_device_mci2; extern struct platform_device pxa3xx_device_mci3; extern struct platform_device pxa25x_device_udc; diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index b9eddc691097..efa6faa62a2c 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c @@ -90,7 +90,7 @@ static struct pxamci_platform_data gumstix_mci_platform_d= ata =3D { =20 static void __init gumstix_mmc_init(void) { - pxa_set_mci_info(&gumstix_mci_platform_data); + pxa_set_mci_info(&gumstix_mci_platform_data, NULL); } #else static void __init gumstix_mmc_init(void) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index c79510185ce3..4720a40587f1 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -651,21 +651,17 @@ static struct pxamci_platform_data spitz_mci_platform= _data =3D { .setpower =3D spitz_mci_setpower, }; =20 -static struct gpiod_lookup_table spitz_mci_gpio_table =3D { - .dev_id =3D "pxa2xx-mci.0", - .table =3D { - GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_nSD_DETECT, - "cd", GPIO_ACTIVE_LOW), - GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_nSD_WP, - "wp", GPIO_ACTIVE_LOW), - { }, - }, +static const struct property_entry spitz_mci_props[] __initconst =3D { + PROPERTY_ENTRY_GPIO("cd-gpios", &pxa2xx_gpiochip_node, + SPITZ_GPIO_nSD_DETECT, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("wp-gpios", &pxa2xx_gpiochip_node, + SPITZ_GPIO_nSD_WP, GPIO_ACTIVE_LOW), + { } }; =20 static void __init spitz_mmc_init(void) { - gpiod_add_lookup_table(&spitz_mci_gpio_table); - pxa_set_mci_info(&spitz_mci_platform_data); + pxa_set_mci_info(&spitz_mci_platform_data, spitz_mci_props); } #else static inline void spitz_mmc_init(void) {} diff --git a/include/linux/platform_data/mmc-pxamci.h b/include/linux/platf= orm_data/mmc-pxamci.h index 7e44e84e7150..652f323b5ecc 100644 --- a/include/linux/platform_data/mmc-pxamci.h +++ b/include/linux/platform_data/mmc-pxamci.h @@ -7,6 +7,7 @@ =20 struct device; struct mmc_host; +struct property_entry; =20 struct pxamci_platform_data { unsigned int ocr_mask; /* available voltages */ @@ -18,7 +19,8 @@ struct pxamci_platform_data { bool gpio_card_ro_invert; /* gpio ro is inverted */ }; =20 -extern void pxa_set_mci_info(struct pxamci_platform_data *info); +extern void pxa_set_mci_info(const struct pxamci_platform_data *info, + const struct property_entry *props); extern void pxa3xx_set_mci2_info(struct pxamci_platform_data *info); extern void pxa3xx_set_mci3_info(struct pxamci_platform_data *info); =20 --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A17141CFD44 for ; Fri, 28 Jun 2024 18:09:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598154; cv=none; b=kfSTyjEYkPJqzyWSBeiP2ZtWHJDRtXQJktGf25vQCrX8A12T/xf6xAFkbvAKoBHc21G8Rv5Sr6/OuD5k0Vr+cZksMJVCG0tC4JTbK5KI8TWDopqL5YjIPMHsRJW1Z99kAL9aG8m0s5QZV7u/XiKwVIp3YexaqR6jLd5DPMs8YHo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598154; c=relaxed/simple; bh=xCkAIhq6uUqRbebidLorwtSnHIaF9ApnVqjGUbpa9J4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q0wj/LdLfyH29QqosttyH9SVCs1oJkCwLDtVCOgSbiGh657yISaKq8/bbEqO8cAb+IwMLmAKPn/O+vP8gxfxXz0//Td7gokJg9+/Nt/BT1NaJ7KY5aRTx9nF2pfsGtsL1CHGanCra7FRsBiT/Dwy7h2Qa8JFF4b5blM8mGZ7DIw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RLAjxYv6; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RLAjxYv6" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-726d9b3bcf8so785092a12.0 for ; Fri, 28 Jun 2024 11:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598152; x=1720202952; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TG3sk+VOjiapEEqjoqAeer5DFsWVZ6qfMsFkHqGpV/g=; b=RLAjxYv6IIolQQAi+bbGXF07RyChfNY/gKkIYqOcF18NPPIe3iF2//zH8ue1i5Rbr8 sKzSlowzvfvYqYLBa1Q0SJ9Lgpka9TwGbtFKbceiHOQ9JqMUjur5TCPPkcx6jBIXJwJx urg+0ahnwx43TVsnNiDlvutkbl7C/p3CFXttmq/obnSbfM9VsGla4CVzLtRIuAEpVo1m KofaFLEfovfnP2OJTfVOjmqVWqG/EJ/0wIEvXqkiqp2CThvJwJFz1hDqfPJH5u+GAyJd VDkw1XSEF3Yx6e+NHn5He1lJQnbiyZ1b16G9+UkTV2ZvpyKpqXmaxLES2XTbJogPc2zr eayg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598152; x=1720202952; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TG3sk+VOjiapEEqjoqAeer5DFsWVZ6qfMsFkHqGpV/g=; b=PhJOqNtgtpV2RJQVXAVxOcr8QRJgW/NykFKM8hGMvY8AN6kyL4qVumBzg/1zTRj+H+ 8gcC/+dwg1Ch4qAlv0g3BLwfNq3XWMrjlDhlyJLtQQfwWd6t//Q4u0HI9N3vvv44TkXg g8kIF3oRNQlKC7KsYYHG2RHeHZSA6Q/gJdcxAamY+y+Naaxsl902zYcN/s5JJNjzAIjb EJGJHGKBaJQfEd9wdXHM8gwjB5PP99UbmVJoL2MqmZT34Kf08s+KJWzHo++kbBYUedA8 vyHdtONe1O0HIKUj8oNEVLbx4PGAS8qUuwnuJTMy5v2v1AcOXs+m82xQGawwXxwoqlj+ WOJg== X-Forwarded-Encrypted: i=1; AJvYcCU9+WiHgLr+/2tWoW/I0hSaN7v/6QPkZ5HVWXkvlBXbqxx3rRyYykZxqNtDRJjMPz5yL3QzFHYbo7mJZtpYpqvjRznmQIQ2n/Vm4by1 X-Gm-Message-State: AOJu0Yz4i60sNBJTfwFEk7KbLAM9DcrmZfp8O9CayZ9jl68F51IwCYCx 3axKtd0s2ZGvxtN4VsyY3EYJkELOQwFi/VQZOop5rUKJdsh8m5+N X-Google-Smtp-Source: AGHT+IE/uVGbMaIUFaLkhNGkXfqS8xVGatcfBWhmOGBmX0fUaCsObE8LAGJWprKosEFqJ28F7EkCSg== X-Received: by 2002:a05:6a20:3c86:b0:1be:da68:1f26 with SMTP id adf61e73a8af0-1beda6820b8mr6390563637.59.1719598151928; Fri, 28 Jun 2024 11:09:11 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:11 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/10] ARM: spitz: Use software nodes to describe LED GPIOs Date: Fri, 28 Jun 2024 11:08:49 -0700 Message-ID: <20240628180852.1738922-10-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert Spitz to use software nodes for specifying GPIOs for the LEDs. Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/spitz.c | 71 +++++++++++++++++++++++++++------------ 1 file changed, 50 insertions(+), 21 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 4720a40587f1..b19d4ed35192 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -467,35 +467,64 @@ static inline void spitz_keys_init(void) {} * LEDs *************************************************************************= *****/ #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) -static struct gpio_led spitz_gpio_leds[] =3D { - { - .name =3D "spitz:amber:charge", - .default_trigger =3D "sharpsl-charge", - .gpio =3D SPITZ_GPIO_LED_ORANGE, - }, - { - .name =3D "spitz:green:hddactivity", - .default_trigger =3D "disk-activity", - .gpio =3D SPITZ_GPIO_LED_GREEN, - }, +static const struct software_node spitz_gpio_leds_node =3D { + .name =3D "spitz-leds", }; =20 -static struct gpio_led_platform_data spitz_gpio_leds_info =3D { - .leds =3D spitz_gpio_leds, - .num_leds =3D ARRAY_SIZE(spitz_gpio_leds), +static const struct property_entry spitz_orange_led_props[] =3D { + PROPERTY_ENTRY_STRING("linux,default-trigger", "sharpsl-charge"), + PROPERTY_ENTRY_GPIO("gpios", + &spitz_scoop_1_gpiochip_node, 6, GPIO_ACTIVE_HIGH), + { } }; =20 -static struct platform_device spitz_led_device =3D { - .name =3D "leds-gpio", - .id =3D -1, - .dev =3D { - .platform_data =3D &spitz_gpio_leds_info, - }, +static const struct software_node spitz_orange_led_node =3D { + .name =3D "spitz:amber:charge", + .parent =3D &spitz_gpio_leds_node, + .properties =3D spitz_orange_led_props, +}; + +static const struct property_entry spitz_green_led_props[] =3D { + PROPERTY_ENTRY_STRING("linux,default-trigger", "disk-activity"), + PROPERTY_ENTRY_GPIO("gpios", + &spitz_scoop_1_gpiochip_node, 0, GPIO_ACTIVE_HIGH), + { } +}; + +static const struct software_node spitz_green_led_node =3D { + .name =3D "spitz:green:hddactivity", + .parent =3D &spitz_gpio_leds_node, + .properties =3D spitz_green_led_props, +}; + +static const struct software_node *spitz_gpio_leds_swnodes[] =3D { + &spitz_gpio_leds_node, + &spitz_orange_led_node, + &spitz_green_led_node, + NULL }; =20 static void __init spitz_leds_init(void) { - platform_device_register(&spitz_led_device); + struct platform_device_info led_info =3D { + .name =3D "leds-gpio", + .id =3D PLATFORM_DEVID_NONE, + }; + struct platform_device *led_dev; + int err; + + err =3D software_node_register_node_group(spitz_gpio_leds_swnodes); + if (err) { + pr_err("failed to register LED software nodes: %d\n", err); + return; + } + + led_info.fwnode =3D software_node_fwnode(&spitz_gpio_leds_node); + + led_dev =3D platform_device_register_full(&led_info); + err =3D PTR_ERR_OR_ZERO(led_dev); + if (err) + pr_err("failed to create LED device: %d\n", err); } #else static inline void spitz_leds_init(void) {} --=20 2.45.2.803.g4e1b14247a-goog From nobody Mon Dec 15 21:27:11 2025 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E053A1CFD63 for ; Fri, 28 Jun 2024 18:09:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598155; cv=none; b=ZzvrQMP/DKadDmM1Ih7T2aWKBxSEBd+vEM9gv0bv1UX7XZob6/ny9FrML/FqIqNbSh+yl8QrbEEeA0GHpXKZJMwVwYUPaxzR6nTML9VObqVW0GuwJP09uW56CXNaoevq26hL6ptldb5HU2JCnTA/cq6mD1x4W3S9kluT5lWxKkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719598155; c=relaxed/simple; bh=nEquWj09CBDGh7TAVmDojA4lpqQnX4I5G8/DCoLB9ME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JDa15AD23hvzwswBj3W8+MpPFBMkQNmSOSKEbUvbLXXq6pjI5iCofRXpPWBcnXlsFkixQprKzVbb012Agpq88csqFz++rXb3nTacMpqkdJrWL6pmq5dvEyRg6BWiwbsFCWfGqYKItzMS7JPiE/svkusww63ftMgdmIhdDj7C19Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cbAXL6sD; arc=none smtp.client-ip=209.85.210.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cbAXL6sD" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-7066f68e22cso745503b3a.2 for ; Fri, 28 Jun 2024 11:09:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719598153; x=1720202953; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1UaptWOE/d6S6pBZfH91tBCmSGK27RbRnUptUO4PI8g=; b=cbAXL6sDqhl6QiNwgDGbxmRrWSjt3Z/i3qcKmQJzHSh4noR8va2VHIEuiWThE5a5A9 czlPElgEQtLT1QJ7uTf7lRsZND5P3C+z5ZjC/l72rr2dpVrwrbGDVbmUqTJ+/cwo7DoC b0ayZZbis6rvq95cKo0iepMcbZjSuTA0V2a3ARE2GQIO4jRQ5V/iL2yUB5FsULQEdFK3 SaMKrkLDApn64WPtj5/0cJHJAoO5akbTyBzEgXd6r0SdgJdLSu+T7KzayUqvV+C9snlO OofRiU2PKlzg8nEBJQ19jSbMxjctfa4JkC7I4o4S5yAb9n/WxM3k5Dygcqu9/X0MpHDv 6BmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719598153; x=1720202953; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1UaptWOE/d6S6pBZfH91tBCmSGK27RbRnUptUO4PI8g=; b=qZBifFngBME9DYKPEU7jCprzT0rAqPK5itIeo+aVa3JUIRrRwVXbfMNPv3XS6712rg CxxRTCbptU3tYKin4yjMUdlTBLrvMp97Zu23Hn/3qYhZGqN19YAvgUVyhFN3gQxfaLKq GDjcCjZ+/AMnQ/105KvshGqDsdzEDSQgMZFn0XJkom7rwTMlyDO3DMtUqQSGiXUy8E5Z CyddQP4yMtc39s8zEtCLJOz1xotW/8wmwRo5JC8rKVNP9sT//K0k9lOT+RvMCC48+9h1 dyx9SzbQ80J6Fzxb9D9qq+yxQuddTjaLPbfgW5cVhtEFSCABM74PjESKSMoFQm+k5OzH DFXA== X-Forwarded-Encrypted: i=1; AJvYcCUOMkFOjBOavlKRWMZaV+0q491e8eBqatz0MwtPk/yg2Z2VJoAH4OHR2zgOhJSRWexHUZop/dNyjHQevdNQaUoue7GeF6mZsELQY+57 X-Gm-Message-State: AOJu0YxFpiGrOlnGbhmPfHZsUhkrdkjVkxsKTzO1vnT3FqLGnCLA2Vwt lTgd36yd2v8FzD0DHu/A2ySYqU1ENLT9kdeVAvAa0m2DEqFxU69c X-Google-Smtp-Source: AGHT+IEo27gQsi1ZqtXMWNPG5YGN57sEOTwCgh0eIFUABFtz/d5KvfYYUSc8KC42EYmSwAdXlE8ycw== X-Received: by 2002:a05:6a00:884:b0:705:940a:c80e with SMTP id d2e1a72fcca58-70670e7a740mr22843851b3a.3.1719598152869; Fri, 28 Jun 2024 11:09:12 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2620:15c:9d:2:c929:2998:720d:a104]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7080295d1f4sm1982911b3a.91.2024.06.28.11.09.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jun 2024 11:09:12 -0700 (PDT) From: Dmitry Torokhov To: Haojian Zhuang , Daniel Mack , Robert Jarzmik , Arnd Bergmann , Linus Walleij , soc@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/10] ARM: spitz: Use software nodes for the ADS7846 touchscreen Date: Fri, 28 Jun 2024 11:08:50 -0700 Message-ID: <20240628180852.1738922-11-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.45.2.803.g4e1b14247a-goog In-Reply-To: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> References: <20240628180852.1738922-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Linus Walleij Convert the Spitz to use software nodes to describe GPIOs for the ADS7846 touchscreen. As part of the conversion switch from the custom wait_for_sync() callback to defining hsync GPIO that can be used by the ads7846 driver to detect hsync. Signed-off-by: Linus Walleij Signed-off-by: Dmitry Torokhov Reviewed-by: Linus Walleij --- arch/arm/mach-pxa/spitz.c | 40 +++++++++++++++------------------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index b19d4ed35192..452bf7aac1fa 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -534,31 +534,23 @@ static inline void spitz_leds_init(void) {} * SSP Devices *************************************************************************= *****/ #if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE) -static void spitz_ads7846_wait_for_hsync(void) -{ - while (gpio_get_value(SPITZ_GPIO_HSYNC)) - cpu_relax(); - - while (!gpio_get_value(SPITZ_GPIO_HSYNC)) - cpu_relax(); -} =20 -static struct ads7846_platform_data spitz_ads7846_info =3D { - .model =3D 7846, - .vref_delay_usecs =3D 100, - .x_plate_ohms =3D 419, - .y_plate_ohms =3D 486, - .pressure_max =3D 1024, - .wait_for_sync =3D spitz_ads7846_wait_for_hsync, +static const struct property_entry spitz_ads7846_props[] =3D { + PROPERTY_ENTRY_STRING("compatible", "ti,ads7846"), + PROPERTY_ENTRY_U32("touchscreen-max-pressure", 1024), + PROPERTY_ENTRY_U16("ti,x-plate-ohms", 419), + PROPERTY_ENTRY_U16("ti,y-plate-ohms", 486), + PROPERTY_ENTRY_U16("ti,vref-delay-usecs", 100), + PROPERTY_ENTRY_GPIO("pendown-gpios", &pxa2xx_gpiochip_node, + SPITZ_GPIO_TP_INT, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("ti,hsync-gpios", &pxa2xx_gpiochip_node, + SPITZ_GPIO_HSYNC, GPIO_ACTIVE_LOW), + { } }; =20 -static struct gpiod_lookup_table spitz_ads7846_gpio_table =3D { - .dev_id =3D "spi2.0", - .table =3D { - GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_TP_INT, - "pendown", GPIO_ACTIVE_LOW), - { } - }, +static const struct software_node spitz_ads7846_swnode =3D { + .name =3D "ads7846", + .properties =3D spitz_ads7846_props, }; =20 static const struct property_entry spitz_lcdcon_props[] =3D { @@ -595,7 +587,7 @@ static struct spi_board_info spitz_spi_devices[] =3D { .max_speed_hz =3D 1200000, .bus_num =3D 2, .chip_select =3D 0, - .platform_data =3D &spitz_ads7846_info, + .swnode =3D &spitz_ads7846_swnode, .irq =3D PXA_GPIO_TO_IRQ(SPITZ_GPIO_TP_INT), }, { .modalias =3D "corgi-lcd", @@ -638,8 +630,6 @@ static void __init spitz_spi_init(void) struct platform_device *pd; int err; =20 - gpiod_add_lookup_table(&spitz_ads7846_gpio_table); - pd =3D platform_device_register_full(&spitz_spi_device_info); err =3D PTR_ERR_OR_ZERO(pd); if (err) --=20 2.45.2.803.g4e1b14247a-goog