From nobody Tue Feb 10 05:26:53 2026 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 1F15A26E62F for ; Fri, 28 Feb 2025 14:07:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740751655; cv=none; b=aqGR8B/2e0kFCF7Lev2sIWXQ1X2y6ei/LKcJuEyFROY2ytIFPHXV/SFjSZqiuf7UUg8B75Oh4BG6aEB6bRiH37+XQyP4B6kVMBNFHhAiqIGJDVgOlIN7agTIgyhAymx3MGOI8ux0HceamYypcWFXZetXI2VtXpKsPgbElBnrPhw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740751655; c=relaxed/simple; bh=fWzdE+Hu5xOwZqrVrpDeDLFG0S6j3Aw3nymZYqj35jQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WUi4aAvWacnh9nJHabGtJOrynYVQaSBV3KaeBTpMRHH7rDB2ffXytEwUHBd7j8BGWnh/O47vefl7AtZchmDy4KECRrogm0fUsw8NneWeKMJ5SMAJ4gAyWEHiaE41BlIqiPhgeGkPSICrbvEBw9/DBugY1D1HHWorikcDsbjk7GE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=JodhXI1z; arc=none smtp.client-ip=209.85.208.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="JodhXI1z" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-5deb1266031so3679058a12.2 for ; Fri, 28 Feb 2025 06:07:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740751651; x=1741356451; 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=/r1ypkbSjtebcdcKcBz70+d9/hPyy6PTiaBKA6Wiwh8=; b=JodhXI1zeosrw04nHBmla+PiMvN97KQqyGOjn7WjAGmy5tKwpwUvXrolAs1dXjytx+ 1g8YQ9E5PUVKjg/DK5mQeGSoSRZ9r1Vvgxgk3tiCG8sdHmA9B0JwGYjMwOx8gGIRsOrX B7F0j3hUJ84AEu0TPczihCvLjF2HLKX2XUJ0ihNNO8OJGJMuHbSXCoxaVVDjQKvN/oM2 rT3FbdKk7MsNYGXSDVlyTG6fP8eeXYCT/iw1u3WvtwGBC22NVXB5dM3dw9u2lTK56UeJ U67muVpqhN+T2r8MBCFnXFYzdjb5qaw+37J8+R1Amgm8sbkYzFk53eRHwqW31adALoHr pwFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740751651; x=1741356451; 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=/r1ypkbSjtebcdcKcBz70+d9/hPyy6PTiaBKA6Wiwh8=; b=dF2IqQFDauwVl4yMlNj46uMleKfodUKAaZWhAQPnKfDWc5+CGCqjdvD1cHXAkw2kID z3f19iCSih1lAIVOVU+6a4h+QfmtpCN38nzzkqWrgrI9rMHTdY9Txj1lwbMyzbpGoGJU RDOyoBC/YqY5wydM7aVVjBsT8Q3nH7idYUvsYuAvxpx1zDQbELM1iT7yZIg1FB7wpwn7 yvIwpvFqg/KDhmZQLVmMyy68BnsvRm1Nf/vHjaiCyIFA/hUQckuURPt1pC81bUKHswle 0rH6eJ2o+9KPIxWoO/+bebkdqUnoYEVlX6RrU9UNupIXK0NAOoixPiVGJh0uMatR+FaX rtcw== X-Gm-Message-State: AOJu0YzcS3Ao8RxWkQisNTl59tst36uvMW8aiWL0veANybz6ciAcAz9C 9BQ6XCJ9zsFwhSKdta5WD7Qo2ZkFMwigSb31nVwaTebDdSPUtw80S7IYEGmu2dg= X-Gm-Gg: ASbGncvcPaBLi6fMZMgdJLpBNR1s/FdBT8RsyKf82WmmNKW3fQa4i/XJT7CKa/6HHyS NLG7OF6UZi2pgy7UskeePmAx6WuxmkISsyRLYe9UO7JegbgEW3upq+QRkXD5g2xGWgYhpijdO/l mIncjx3jtzXhq2Xf9mi7vdaQpdF1ICft/e/8KT/5H7pxR0q70bDeybmwxlHvSYwCGnMwK6JAJGH q16zpYysSR0ESrulYxrlaRDmZKmdsTiSU6wexGgHny98uMdoQkwKe//yWB1dhbFXAUQNksoQjt3 2xodFrloE4l3e+3IZle00mXtoQoCVSID9sESQ7aISSaCh1bjYJ/D81sTNNT5iTKfaCOWBglnMSS pk/xe19l9nQ== X-Google-Smtp-Source: AGHT+IEmNzc9psOsG8S5U8hQjyEGUEZtM5fJSHlUXxz0d+LoEipOpq1K+57NoVXqKGgpzCnWIQsf3g== X-Received: by 2002:a05:6402:2711:b0:5de:dfd0:9d22 with SMTP id 4fb4d7f45d1cf-5e4d6b6ebf3mr3156214a12.22.1740751650904; Fri, 28 Feb 2025 06:07:30 -0800 (PST) Received: from puffmais.c.googlers.com (30.171.91.34.bc.googleusercontent.com. [34.91.171.30]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5e4c3fb51f9sm2550839a12.55.2025.02.28.06.07.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2025 06:07:30 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Feb 2025 14:07:29 +0000 Subject: [PATCH 16/18] rtc: sd3078: drop needless struct sd3078 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: <20250228-rtc-cleanups-v1-16-b44cec078481@linaro.org> References: <20250228-rtc-cleanups-v1-0-b44cec078481@linaro.org> In-Reply-To: <20250228-rtc-cleanups-v1-0-b44cec078481@linaro.org> To: Chanwoo Choi , Krzysztof Kozlowski , Alexandre Belloni , Joel Stanley , Andrew Jeffery , Hans Ulli Kroll , Linus Walleij , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , =?utf-8?q?T=C3=B3th_J=C3=A1nos?= , Dianlong Li Cc: linux-kernel@vger.kernel.org, linux-rtc@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-amlogic@lists.infradead.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 This private data struct has one member only, there is no need to allocate data for it and pass that around via the various callbacks, just to extract that one member. Instead, we can just pass that one member and avoid the extra memory allocation, reducing runtime memory consumption. Signed-off-by: Andr=C3=A9 Draszik --- drivers/rtc/rtc-sd3078.c | 55 ++++++++++++++++++--------------------------= ---- 1 file changed, 20 insertions(+), 35 deletions(-) diff --git a/drivers/rtc/rtc-sd3078.c b/drivers/rtc/rtc-sd3078.c index ebb4d45ce2409982880affbc7a85d5e7410c8f42..10cc1dcfc7748144f51ef674939= 506feee1fb471 100644 --- a/drivers/rtc/rtc-sd3078.c +++ b/drivers/rtc/rtc-sd3078.c @@ -36,10 +36,6 @@ */ #define WRITE_PROTECT_EN 0 =20 -struct sd3078 { - struct regmap *regmap; -}; - /* * In order to prevent arbitrary modification of the time register, * when modification of the register, @@ -48,14 +44,11 @@ struct sd3078 { * 2. set WRITE2 bit * 3. set WRITE3 bit */ -static void sd3078_enable_reg_write(struct sd3078 *sd3078) +static void sd3078_enable_reg_write(struct regmap *regmap) { - regmap_update_bits(sd3078->regmap, SD3078_REG_CTRL2, - KEY_WRITE1, KEY_WRITE1); - regmap_update_bits(sd3078->regmap, SD3078_REG_CTRL1, - KEY_WRITE2, KEY_WRITE2); - regmap_update_bits(sd3078->regmap, SD3078_REG_CTRL1, - KEY_WRITE3, KEY_WRITE3); + regmap_update_bits(regmap, SD3078_REG_CTRL2, KEY_WRITE1, KEY_WRITE1); + regmap_update_bits(regmap, SD3078_REG_CTRL1, KEY_WRITE2, KEY_WRITE2); + regmap_update_bits(regmap, SD3078_REG_CTRL1, KEY_WRITE3, KEY_WRITE3); } =20 #if WRITE_PROTECT_EN @@ -68,14 +61,11 @@ static void sd3078_enable_reg_write(struct sd3078 *sd30= 78) * 2. clear WRITE3 bit * 3. clear WRITE1 bit */ -static void sd3078_disable_reg_write(struct sd3078 *sd3078) +static void sd3078_disable_reg_write(struct regmap *regmap) { - regmap_update_bits(sd3078->regmap, SD3078_REG_CTRL1, - KEY_WRITE2, 0); - regmap_update_bits(sd3078->regmap, SD3078_REG_CTRL1, - KEY_WRITE3, 0); - regmap_update_bits(sd3078->regmap, SD3078_REG_CTRL2, - KEY_WRITE1, 0); + regmap_update_bits(regmap, SD3078_REG_CTRL1, KEY_WRITE2, 0); + regmap_update_bits(regmap, SD3078_REG_CTRL1, KEY_WRITE3, 0); + regmap_update_bits(regmap, SD3078_REG_CTRL2, KEY_WRITE1, 0); } #endif =20 @@ -84,11 +74,10 @@ static int sd3078_rtc_read_time(struct device *dev, str= uct rtc_time *tm) unsigned char hour; unsigned char rtc_data[NUM_TIME_REGS] =3D {0}; struct i2c_client *client =3D to_i2c_client(dev); - struct sd3078 *sd3078 =3D i2c_get_clientdata(client); + struct regmap *regmap =3D i2c_get_clientdata(client); int ret; =20 - ret =3D regmap_bulk_read(sd3078->regmap, SD3078_REG_SC, rtc_data, - NUM_TIME_REGS); + ret =3D regmap_bulk_read(regmap, SD3078_REG_SC, rtc_data, NUM_TIME_REGS); if (ret < 0) { dev_err(dev, "reading from RTC failed with err:%d\n", ret); return ret; @@ -122,7 +111,7 @@ static int sd3078_rtc_set_time(struct device *dev, stru= ct rtc_time *tm) { unsigned char rtc_data[NUM_TIME_REGS]; struct i2c_client *client =3D to_i2c_client(dev); - struct sd3078 *sd3078 =3D i2c_get_clientdata(client); + struct regmap *regmap =3D i2c_get_clientdata(client); int ret; =20 rtc_data[SD3078_REG_SC] =3D bin2bcd(tm->tm_sec); @@ -134,10 +123,10 @@ static int sd3078_rtc_set_time(struct device *dev, st= ruct rtc_time *tm) rtc_data[SD3078_REG_YR] =3D bin2bcd(tm->tm_year - 100); =20 #if WRITE_PROTECT_EN - sd3078_enable_reg_write(sd3078); + sd3078_enable_reg_write(regmap); #endif =20 - ret =3D regmap_bulk_write(sd3078->regmap, SD3078_REG_SC, rtc_data, + ret =3D regmap_bulk_write(regmap, SD3078_REG_SC, rtc_data, NUM_TIME_REGS); if (ret < 0) { dev_err(dev, "writing to RTC failed with err:%d\n", ret); @@ -145,7 +134,7 @@ static int sd3078_rtc_set_time(struct device *dev, stru= ct rtc_time *tm) } =20 #if WRITE_PROTECT_EN - sd3078_disable_reg_write(sd3078); + sd3078_disable_reg_write(regmap); #endif =20 return 0; @@ -165,23 +154,19 @@ static const struct regmap_config regmap_config =3D { static int sd3078_probe(struct i2c_client *client) { int ret; - struct sd3078 *sd3078; + struct regmap *regmap; struct rtc_device *rtc; =20 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) return -ENODEV; =20 - sd3078 =3D devm_kzalloc(&client->dev, sizeof(*sd3078), GFP_KERNEL); - if (!sd3078) - return -ENOMEM; - - sd3078->regmap =3D devm_regmap_init_i2c(client, ®map_config); - if (IS_ERR(sd3078->regmap)) { + regmap =3D devm_regmap_init_i2c(client, ®map_config); + if (IS_ERR(regmap)) { dev_err(&client->dev, "regmap allocation failed\n"); - return PTR_ERR(sd3078->regmap); + return PTR_ERR(regmap); } =20 - i2c_set_clientdata(client, sd3078); + i2c_set_clientdata(client, regmap); =20 rtc =3D devm_rtc_allocate_device(&client->dev); if (IS_ERR(rtc)) @@ -195,7 +180,7 @@ static int sd3078_probe(struct i2c_client *client) if (ret) return ret; =20 - sd3078_enable_reg_write(sd3078); + sd3078_enable_reg_write(regmap); =20 return 0; } --=20 2.48.1.711.g2feabab25a-goog