From nobody Tue Dec 16 14:20:43 2025 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (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 AD7041EB5FD for ; Tue, 18 Feb 2025 19:30:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739907048; cv=none; b=YXpK4T4lGsts0cdvNS73bsG/Tu++EUX3Rv74ET/IlRPDYur3bPtpq4qI21dUx23F4B3OFX6c3P2nB2w8TzO5U34lEsJWrIxFcOXWL0i9NK0P1tZF/PwcvKvw4iLqjI4PU84dbY1tDLIItRW5fjpxQn1m5e2LHsAjYcD208tnlZc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739907048; c=relaxed/simple; bh=Cr25mWKeZ/YkxEU3AVjqGal7txJ2589uVh41kSdabtQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AHHgOBOCNfPXAzBI2fZvx5kwnBjxpxgzd3eTrnU8CGKiUy7amLDxl6r5XC8UNOFJY8lPPaJlYCi7Ru4/MqmInK711/S6hjCYOR7xCD8q6Y8fvyVPSU/nnr8wa5Vm9MmcLxs1KWSExHc79dThQjVTgaB0AyNtXUZtbqogJN3IQk4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=l4+pDokp; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="l4+pDokp" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5e02eba02e8so5280511a12.0 for ; Tue, 18 Feb 2025 11:30:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1739907044; x=1740511844; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hjJyNDYGWNlVfx3UHGcOmdtWcFRQpeErkJQFZDrnkgk=; b=l4+pDokpvKjNa8KTmTuP9Ldxy+YTsUyNZ0M9vBt+3nlNZTSvCyRrgu2250w3MC90zp jFwzx8NMPlhjhMvs5k9JKMDJhrVo3WJI2Ev/K35YqFa9SQbAO5acHiU5zHjGOYPndbRS LtnxjHmfxfMI/IN9zMOpEs3PhWgefrZHOKZfZDC+14aa72p9jWVe7CUDqzkGeg8GSQHK /EXWEF8rWckn5nOvkNYO4mwPI+LlrFK75levjNuEH+LOoa5gmgopKglau9LcuDQpyc53 di8ltFhYdGjE/Jbdf/5N49UDU2/UlfWjgn8i0r8BU2G6rZ/aiMeeQm8PxvXwfaZliF3t b8FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739907044; x=1740511844; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hjJyNDYGWNlVfx3UHGcOmdtWcFRQpeErkJQFZDrnkgk=; b=t66V0vWJsjP7jZ1jFaOZs4G1GU3yX1nOPD/p+K+yiyODrahjCosYjpj7i03y85A5cU hCX3IiPpgHgSxfQQ2coP15Yn8Y/LI0XKkZpGruVgeZ6SPwjnmiQ4o4iXibKZMCq+HTqH PraS+6MCqsqZb5eo08fSH1u/qF9AWLxHdmpiq/bbibAiBAXnUml1NrCcNJnxg2D2m7uj WEszO1jE1S+xbTJUa89bpWPz3BjIpjBYJVZE171qHP95QqHg0xSKSY7R2ILwsfuHYfQ4 VpJzKVR5QpG77gzHOaNOkXeSirKhM+SSiziFnp7/SFyzsxl5bxlX9vqEowmZ+d+y/v82 wSzQ== X-Gm-Message-State: AOJu0YxDwZ4OVCmnSq9bmBcgSDo8o6xmYGfkLYvt3M7W0BJV6xH7JrTv 6w2el3IS+BEn4R6A6xGJkaoB6kMdqRcsD5izvrnQOHBlcn2vAoXf/QQYshlBfjk= X-Gm-Gg: ASbGnctJth+I/QjDa2+PZ68SDvgdzdl4KMXy41FtAaKufIV+YbL5L3fYT2BZGT56Cur SP+i3RJ19N/iiSQySDJYgJaOplAbH/Jiz47HlAOKN37p0ml17u2IQTk0A1xzW84vl4bmlKJSAXD kxoZscEjeYKMt+9LwOWyoebIkV4ROaTyrqvGwqlWksMLgyGkQHGg+ZlpPjlRVc0Q+dlQybjqcwX 2xe6Q8xZAcuEM8ZYT6noD3mUH3MiQYROpmWq+Q2Ta6vFW/NPJ4ZZPg0wsQS0P/rMlD0zbexZeV9 gImX9D98nMAiu12eZED0qIXmKGQ6 X-Google-Smtp-Source: AGHT+IECmlrf1Z+1L2rx/ADMh1RlCaQ+nxKiAFCqRveAMzjHV+oepi3NANZfof9OC/6vmxpoOyaleQ== X-Received: by 2002:a05:6402:50c7:b0:5e0:87fb:72fb with SMTP id 4fb4d7f45d1cf-5e089510c40mr694282a12.6.1739907044107; Tue, 18 Feb 2025 11:30:44 -0800 (PST) Received: from toaster.baylibre.com ([2a01:e0a:3c5:5fb1:cbaf:af0:839d:fb4a]) by smtp.googlemail.com with ESMTPSA id 4fb4d7f45d1cf-5dece1c3ce5sm9338985a12.17.2025.02.18.11.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Feb 2025 11:30:43 -0800 (PST) From: Jerome Brunet Date: Tue, 18 Feb 2025 20:29:49 +0100 Subject: [PATCH v4 4/8] platform: arm64: lenovo-yoga-c630: use the auxiliary device creation helper Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250218-aux-device-create-helper-v4-4-c3d7dfdea2e6@baylibre.com> References: <20250218-aux-device-create-helper-v4-0-c3d7dfdea2e6@baylibre.com> In-Reply-To: <20250218-aux-device-create-helper-v4-0-c3d7dfdea2e6@baylibre.com> To: Greg Kroah-Hartman , Dave Ertman , Ira Weiny , "Rafael J. Wysocki" , Stephen Boyd , Arnd Bergmann , Danilo Krummrich , Conor Dooley , Daire McNamara , Philipp Zabel , Douglas Anderson , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Bryan O'Donoghue , Vladimir Kondratiev , Gregory CLEMENT , =?utf-8?q?Th=C3=A9o_Lebrun?= , Michael Turquette , Abel Vesa , Peng Fan , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Kevin Hilman , Martin Blumenstingl Cc: linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, dri-devel@lists.freedesktop.org, platform-driver-x86@vger.kernel.org, linux-mips@vger.kernel.org, linux-clk@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, Jerome Brunet X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1973; i=jbrunet@baylibre.com; h=from:subject:message-id; bh=Cr25mWKeZ/YkxEU3AVjqGal7txJ2589uVh41kSdabtQ=; b=owEBbQKS/ZANAwAKAeb8Dxw38tqFAcsmYgBntN/SD4OL52K/QfMKVSEvyPzO6g3xqyAnnznv2 tNz5v43QBWJAjMEAAEKAB0WIQT04VmuGPP1bV8btxvm/A8cN/LahQUCZ7Tf0gAKCRDm/A8cN/La hQ3NEACMePloQ6q9Op19MgwdvWmpVPN0pvC4qMKEleBTPpWgSbX07LzsOs33BF6DElzTXnPBE7V Hc6gTFj4eFpmZWZ0JLOLUmssy6Psl/FT45fjkiI6n1fz3DAwt9ZAHMX8li1/hrg9Jm8kTJTxkdT 4bDV79Tklwis8J/7ZD2hJKoV02hT7FGm3mi0VzB65ZDGv6b5LcNmbZn95vUsmM9vQKOlyDsZ+5j xQZKbwufaGoPkjT64mDVnAKoZdF3vNaNN5Yje/d9tiezCjghHjEQXg8nP5TIJgDzYrbByCFDCQ2 uO6nlODoPUfF90cbT60YJAE7QcCQOsrjt8e2+MvwcZdOMX6+e4wy3mIs24V2+8OKbSSxEO46L2l Bq5ehm93JeFwihWXwSSzccoDgTdL9uTM0T+n7gXSmVWMuo9FQ7ezZ1NcVkhY0hIn/oSI7yHdM9C oDiWNvNBvsV3+EksgLl8g8CFq0b8ykBaFZsBO19TLYDtzd0YUEbvkjbHjpFaDvVWVQFbxmFOiOm RwwfbcTkpQ8yKuwqtYNwng31MbhKDu90tRu3Q02h5kBTCZ8xPP4EIT+baSgD9YzWlOAKtcjFrRT Er3q3PLeaKRm/ZarDvM72dgEjzwT5TsJ6qku+wsH87MnixceMMf524tJXp0zcQWBJYtba1cPB09 RzDUMDBKnqETK4A== X-Developer-Key: i=jbrunet@baylibre.com; a=openpgp; fpr=F29F26CF27BAE1A9719AE6BDC3C92AAF3E60AED9 The auxiliary device creation of this driver is simple enough to use the available auxiliary device creation helper. Use it and remove some boilerplate code. Signed-off-by: Jerome Brunet --- drivers/platform/arm64/lenovo-yoga-c630.c | 40 +++------------------------= ---- 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/drivers/platform/arm64/lenovo-yoga-c630.c b/drivers/platform/a= rm64/lenovo-yoga-c630.c index 1f05c9a6a89d5ee146144062f5d2e36795c56639..75060c842b249c1b4cab21fef94= 3266ae0b31d32 100644 --- a/drivers/platform/arm64/lenovo-yoga-c630.c +++ b/drivers/platform/arm64/lenovo-yoga-c630.c @@ -191,50 +191,16 @@ void yoga_c630_ec_unregister_notify(struct yoga_c630_= ec *ec, struct notifier_blo } EXPORT_SYMBOL_GPL(yoga_c630_ec_unregister_notify); =20 -static void yoga_c630_aux_release(struct device *dev) -{ - struct auxiliary_device *adev =3D to_auxiliary_dev(dev); - - kfree(adev); -} - -static void yoga_c630_aux_remove(void *data) -{ - struct auxiliary_device *adev =3D data; - - auxiliary_device_delete(adev); - auxiliary_device_uninit(adev); -} - static int yoga_c630_aux_init(struct device *parent, const char *name, struct yoga_c630_ec *ec) { struct auxiliary_device *adev; - int ret; =20 - adev =3D kzalloc(sizeof(*adev), GFP_KERNEL); + adev =3D devm_auxiliary_device_create(parent, name, ec); if (!adev) - return -ENOMEM; - - adev->name =3D name; - adev->id =3D 0; - adev->dev.parent =3D parent; - adev->dev.release =3D yoga_c630_aux_release; - adev->dev.platform_data =3D ec; - - ret =3D auxiliary_device_init(adev); - if (ret) { - kfree(adev); - return ret; - } - - ret =3D auxiliary_device_add(adev); - if (ret) { - auxiliary_device_uninit(adev); - return ret; - } + return -ENODEV; =20 - return devm_add_action_or_reset(parent, yoga_c630_aux_remove, adev); + return 0; } =20 static int yoga_c630_ec_probe(struct i2c_client *client) --=20 2.47.2