From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D08012D75D for ; Wed, 8 May 2024 18:49:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194159; cv=none; b=PQi1FBjHmbXBxq55QGgzAQWPy3hyXilf5Mq0wnX/v5E0mcrLxZhd2o70abPZSlfbAs/MB7GShUpuZOyJbrNVGETxUZaIjE8SEs2hyVyXtbIe8zH6uWfqJtXIhZWHKIpAdW8nxbo9WmBN5/Fq8trounSHf29IqBTBDGcQLC0E9ZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194159; c=relaxed/simple; bh=a/7cuaQpvG4lE7netr1STOaAFyfnPDR41TiglDVDB10=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OiofzB6WF5TYIg7WeayeeDNe1Uy155/K/CSL6q2m+bbOLYIrf3KO6oTCVWD4BvqerrgY3jw0Bxw7Q9lKYY7qub0oRa5Ymq6P6GwhheqRJsgpjbl5Q/e9u2UckGgOB484gSwbDl5qJNs7UTTdkDcu7ItgN3EmfyeW/39aFNyuLZQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=IH6mNELB; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="IH6mNELB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194158; x=1746730158; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=a/7cuaQpvG4lE7netr1STOaAFyfnPDR41TiglDVDB10=; b=IH6mNELB52lhcEdGQ6kk7dcVUq2JlJUgmDZKCtD88koIPxycKq2jOd9N tRzv+gMjYeQOimqcvIfzf/Ri0C0jnaW315Il+UWMei6Dfi+mEujCzi2Kz aena03D5qNqphdgENVwOyAr1e35opVJJa+ldLIgFx4j3K46vUuG5j99NK RqzydzJB9TG27Ah2YDQU7Xq2/XHSUknLz41I86z8iBf/csQ+YyOXbyJKo H3nZNoAgbFAvLRO1gJS4Kz0w01IIGJs6Em+pvJtx/v2SyWqinD50os8YK JrpQR9UpHHG9pX+Q5EiIoEoRwDX0o5FxGM5a14AyEh0REsKs1wjxJgR8Q w==; X-CSE-ConnectionGUID: +GEzqJsFRMqTz7E1EDjNOA== X-CSE-MsgGUID: DHPhdL3pR6+uE6zWE3pKDA== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="28591021" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28591021" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:15 -0700 X-CSE-ConnectionGUID: +oTLIxEcS8+8RyFfki96sw== X-CSE-MsgGUID: TpZH2DhoQBmmvEyUwJFilw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="29024951" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 08 May 2024 11:49:13 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7DCF986; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 01/10] misc: eeprom_93xx46: Make use of device properties Date: Wed, 8 May 2024 21:46:54 +0300 Message-ID: <20240508184905.2102633-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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 the module to be property provider agnostic and allow it to be used on non-OF platforms. Include mod_devicetable.h explicitly to replace the dropped of.h which included mod_devicetable.h indirectly. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 41 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index 45c8ae0db8f9..bbcc9412bb4e 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -10,13 +10,15 @@ #include #include #include +#include #include #include -#include -#include +#include #include #include + #include + #include =20 #define OP_START 0x4 @@ -422,22 +424,20 @@ static const struct spi_device_id eeprom_93xx46_spi_i= ds[] =3D { }; MODULE_DEVICE_TABLE(spi, eeprom_93xx46_spi_ids); =20 -static int eeprom_93xx46_probe_dt(struct spi_device *spi) +static int eeprom_93xx46_probe_fw(struct device *dev) { - const struct of_device_id *of_id =3D - of_match_device(eeprom_93xx46_of_table, &spi->dev); - struct device_node *np =3D spi->dev.of_node; + const struct eeprom_93xx46_devtype_data *data; struct eeprom_93xx46_platform_data *pd; u32 tmp; int ret; =20 - pd =3D devm_kzalloc(&spi->dev, sizeof(*pd), GFP_KERNEL); + pd =3D devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL); if (!pd) return -ENOMEM; =20 - ret =3D of_property_read_u32(np, "data-size", &tmp); + ret =3D device_property_read_u32(dev, "data-size", &tmp); if (ret < 0) { - dev_err(&spi->dev, "data-size property not found\n"); + dev_err(dev, "data-size property not found\n"); return ret; } =20 @@ -446,30 +446,28 @@ static int eeprom_93xx46_probe_dt(struct spi_device *= spi) } else if (tmp =3D=3D 16) { pd->flags |=3D EE_ADDR16; } else { - dev_err(&spi->dev, "invalid data-size (%d)\n", tmp); + dev_err(dev, "invalid data-size (%d)\n", tmp); return -EINVAL; } =20 - if (of_property_read_bool(np, "read-only")) + if (device_property_read_bool(dev, "read-only")) pd->flags |=3D EE_READONLY; =20 - pd->select =3D devm_gpiod_get_optional(&spi->dev, "select", - GPIOD_OUT_LOW); + pd->select =3D devm_gpiod_get_optional(dev, "select", GPIOD_OUT_LOW); if (IS_ERR(pd->select)) return PTR_ERR(pd->select); + gpiod_set_consumer_name(pd->select, "93xx46 EEPROMs OE"); =20 pd->prepare =3D select_assert; pd->finish =3D select_deassert; - gpiod_direction_output(pd->select, 0); - - if (of_id->data) { - const struct eeprom_93xx46_devtype_data *data =3D of_id->data; =20 + data =3D spi_get_device_match_data(to_spi_device(dev)); + if (data) { pd->quirks =3D data->quirks; pd->flags |=3D data->flags; } =20 - spi->dev.platform_data =3D pd; + dev->platform_data =3D pd; =20 return 0; } @@ -478,10 +476,11 @@ static int eeprom_93xx46_probe(struct spi_device *spi) { struct eeprom_93xx46_platform_data *pd; struct eeprom_93xx46_dev *edev; + struct device *dev =3D &spi->dev; int err; =20 - if (spi->dev.of_node) { - err =3D eeprom_93xx46_probe_dt(spi); + if (dev_fwnode(dev)) { + err =3D eeprom_93xx46_probe_fw(dev); if (err < 0) return err; } @@ -565,7 +564,7 @@ static void eeprom_93xx46_remove(struct spi_device *spi) static struct spi_driver eeprom_93xx46_driver =3D { .driver =3D { .name =3D "93xx46", - .of_match_table =3D of_match_ptr(eeprom_93xx46_of_table), + .of_match_table =3D eeprom_93xx46_of_table, }, .probe =3D eeprom_93xx46_probe, .remove =3D eeprom_93xx46_remove, --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 596F586AD6 for ; Wed, 8 May 2024 18:49:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194158; cv=none; b=hi/vDmLLbIw36xMygpBkB65STKs1hAWiEs/JL87MF8g5UHcn35Ju9DTyZhtMaD4ctA1eew1CWTiUOIvBzJRv0zysib3Q/r/4hn6HE3qUzWPWtMC5QQP7BHFkcJs1w6ry8SNTkle+zmGnXLhNpTQhOoZ1hsAywmME3kbVxtDviOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194158; c=relaxed/simple; bh=U+HVZQS+64kb8Zey97r2FujuAXEKiql5arjTI8jUYZk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fcqEnXXWT3PvTQdnixU5J/pLLuDixxbp9Z4yfwGi7j18lkoyQA6rIo7pVEWBvOJyZn4Vv+yEFYbh6/uFZrGeYc38QUncBMycnSK+WwHj8njqKjiRqh0KPB/KLGFlKhmvLNQfxbDCs+Z6CqsEitxmijQhacElem4hwtL98LafXnA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Fu4H3P1e; arc=none smtp.client-ip=192.198.163.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Fu4H3P1e" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194158; x=1746730158; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=U+HVZQS+64kb8Zey97r2FujuAXEKiql5arjTI8jUYZk=; b=Fu4H3P1el2merNEOoZQZT196wUOKGG1XUDyIumYihXLA7OIBiE6kO+M+ KsAJdecj1GPyf1VwrfnLA+OGugRlGIJEq83JZW2LoVjvnI3AIloeWyVyX UNvCsTsXHChI9DAhah/67S4tRjUZmim5EDUZ+Z01DSGVhqzmBGHqc7pDm hFO3i+kqIo8crZq9Yrj6xxgp+xjHmFRnFJY3JouHrShwnElB6d9AHzdEv yVPpa9CwjFP5Hu0v4SVIf6GemcfkhyIx6ANOGa7XfWLXRP+cJu4e5siGc PRVW0FAJsb2igskwbxYNQJ3U/o4NK3W7LmuFtepsKTh6/y8tqUqdkXU4p A==; X-CSE-ConnectionGUID: 8dB7YwzkSOmuYubkWV7YiA== X-CSE-MsgGUID: 8/dwVLJNRjqRcRa7DeAlsw== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="36457766" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="36457766" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:15 -0700 X-CSE-ConnectionGUID: P/iSq1CrTZyyxZLN9I9h/Q== X-CSE-MsgGUID: G+VL2WWnTRav6fCPfXLIFw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28957213" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa009.fm.intel.com with ESMTP; 08 May 2024 11:49:14 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8A386656; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 02/10] eeprom: digsy_mtc: Fix 93xx46 driver probe failure Date: Wed, 8 May 2024 21:46:55 +0300 Message-ID: <20240508184905.2102633-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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 update to support other (bigger) types of EEPROMs broke the driver loading due to removal of the default size. Fix this by adding the respective (new) flag to the platform data. Fixes: 14374fbb3f06 ("misc: eeprom_93xx46: Add new 93c56 and 93c66 compatib= le strings") Signed-off-by: Andy Shevchenko --- drivers/misc/eeprom/digsy_mtc_eeprom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/eeprom/digsy_mtc_eeprom.c b/drivers/misc/eeprom/d= igsy_mtc_eeprom.c index f1f766b70965..4eddc5ba1af9 100644 --- a/drivers/misc/eeprom/digsy_mtc_eeprom.c +++ b/drivers/misc/eeprom/digsy_mtc_eeprom.c @@ -42,7 +42,7 @@ static void digsy_mtc_op_finish(void *p) } =20 struct eeprom_93xx46_platform_data digsy_mtc_eeprom_data =3D { - .flags =3D EE_ADDR8, + .flags =3D EE_ADDR8 | EE_SIZE1K, .prepare =3D digsy_mtc_op_prepare, .finish =3D digsy_mtc_op_finish, }; --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7BCB84A34 for ; Wed, 8 May 2024 18:49:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194157; cv=none; b=dDbE7YiJrAmSOgLlsYi9+2cvolTJuT7Dsz9hn7pVUcNImPDTd15uBg1lOAe84nbrgzUuAP53oAUOtOUJu7x6+MfqCdYFqkSeiw2G7EnBtiAPjgykTKPaaY/UlQtA/d+pdq9bfyFBZE8kXZIc46VN1Y4Neyc9I+r7ENP0q/XexRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194157; c=relaxed/simple; bh=lKeEU9se9zdoUztrpsgzAxtBW4Mcm9fhQEu9pW5f9Eo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=citJSGAftojZYF2jAFhxl50o+iXBTbt3iH0VhGO5DPwZ09WclPDq4XXkx8nxFsXahAzj2FZ0r8enk8NqQVXdwRyksFijAQYaY4GzJ7FyvZpUBXCoZvkm6ujMSUVtqPTcA9PiD0ztiXJp9q/YM5NX46po4j9qlakpB2Mj5QXJWSE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cH2vRqYZ; arc=none smtp.client-ip=192.198.163.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cH2vRqYZ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194156; x=1746730156; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lKeEU9se9zdoUztrpsgzAxtBW4Mcm9fhQEu9pW5f9Eo=; b=cH2vRqYZfTIeJX8eiaNrvghiFU7OLsazGbs14inDCi6WPQSbgpBJNtLz yQIHB+A1/9JgTfemTRDu0q4c3LCgNNXcw5t38lD47I31TSQMpRSMim7Hb qtil0N7fE+mu4n7P4d6nNdvKqMqP/Yx4RLSq4+sHCVYCNuDkZPEi9RWwP Tk6YL+9lXulrTuUUYOJUphjwILhevBxsMKCosi12ELeu0Vc6ATK/j783B GHiSzZ5uT0FrfkXmcDwTmrj5PLG3LaYKqcYyQiUHNyfFJTDvIE+JEtakq 6syohuFjbrqGHVnUfb+ytyvpU88RJaEsrrH014cD7whLdiO1k8kXoAh3O A==; X-CSE-ConnectionGUID: kq2rBQmlR+qL/U1pAwtlfA== X-CSE-MsgGUID: 0ccMLK3RSOiZZ4hhm7FJOg== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="36457763" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="36457763" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:15 -0700 X-CSE-ConnectionGUID: q8PySlm9ROODnSbx+KLFcA== X-CSE-MsgGUID: TWAQ1AMnS8m1Noc53CB3YQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28957212" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa009.fm.intel.com with ESMTP; 08 May 2024 11:49:14 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 91EFE6C4; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 03/10] eeprom: digsy_mtc: Convert to use GPIO descriptors Date: Wed, 8 May 2024 21:46:56 +0300 Message-ID: <20240508184905.2102633-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" This converts the driver to use GPIO descriptors exclusively to retrieve GPIO lines. Drop the old GPIO handling in favor of the core managing it exclusively. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/digsy_mtc_eeprom.c | 46 +++++++++++--------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/drivers/misc/eeprom/digsy_mtc_eeprom.c b/drivers/misc/eeprom/d= igsy_mtc_eeprom.c index 4eddc5ba1af9..88888485e6f8 100644 --- a/drivers/misc/eeprom/digsy_mtc_eeprom.c +++ b/drivers/misc/eeprom/digsy_mtc_eeprom.c @@ -14,13 +14,12 @@ * and delete this driver. */ =20 -#include #include #include #include +#include #include #include -#include =20 #define GPIO_EEPROM_CLK 216 #define GPIO_EEPROM_CS 210 @@ -29,22 +28,13 @@ #define GPIO_EEPROM_OE 255 #define EE_SPI_BUS_NUM 1 =20 -static void digsy_mtc_op_prepare(void *p) -{ - /* enable */ - gpio_set_value(GPIO_EEPROM_OE, 0); -} +static const struct property_entry digsy_mtc_spi_properties[] =3D { + PROPERTY_ENTRY_U32("data-size", 8), + { } +}; =20 -static void digsy_mtc_op_finish(void *p) -{ - /* disable */ - gpio_set_value(GPIO_EEPROM_OE, 1); -} - -struct eeprom_93xx46_platform_data digsy_mtc_eeprom_data =3D { - .flags =3D EE_ADDR8 | EE_SIZE1K, - .prepare =3D digsy_mtc_op_prepare, - .finish =3D digsy_mtc_op_finish, +static const struct software_node digsy_mtc_spi_node =3D { + .properties =3D digsy_mtc_spi_properties, }; =20 static struct spi_gpio_platform_data eeprom_spi_gpio_data =3D { @@ -70,18 +60,19 @@ static struct gpiod_lookup_table eeprom_spi_gpiod_table= =3D { "miso", GPIO_ACTIVE_HIGH), GPIO_LOOKUP("gpio@b00", GPIO_EEPROM_CS, "cs", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("gpio@b00", GPIO_EEPROM_OE, + "select", GPIO_ACTIVE_LOW), { }, }, }; =20 static struct spi_board_info digsy_mtc_eeprom_info[] __initdata =3D { { - .modalias =3D "93xx46", + .modalias =3D "eeprom-93xx46", .max_speed_hz =3D 1000000, .bus_num =3D EE_SPI_BUS_NUM, .chip_select =3D 0, .mode =3D SPI_MODE_0, - .platform_data =3D &digsy_mtc_eeprom_data, }, }; =20 @@ -89,15 +80,18 @@ static int __init digsy_mtc_eeprom_devices_init(void) { int ret; =20 - ret =3D gpio_request_one(GPIO_EEPROM_OE, GPIOF_OUT_INIT_HIGH, - "93xx46 EEPROMs OE"); - if (ret) { - pr_err("can't request gpio %d\n", GPIO_EEPROM_OE); - return ret; - } gpiod_add_lookup_table(&eeprom_spi_gpiod_table); spi_register_board_info(digsy_mtc_eeprom_info, ARRAY_SIZE(digsy_mtc_eeprom_info)); - return platform_device_register(&digsy_mtc_eeprom); + + ret =3D device_add_software_node(&digsy_mtc_eeprom.dev, &digsy_mtc_spi_no= de); + if (ret) + return ret; + + ret =3D platform_device_register(&digsy_mtc_eeprom); + if (ret) + device_remove_software_node(&digsy_mtc_eeprom.dev); + + return ret; } device_initcall(digsy_mtc_eeprom_devices_init); --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE7F285626 for ; Wed, 8 May 2024 18:49:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194157; cv=none; b=Oblbn1ENIavCP+FwrqQEbUyfVYgwKRnThL+NQ5+vVDmhq+UltQ65AIlQ7vaNyiO+RLSUeqv7ws79pF24bumK8owm/kV7hlSQvLL32tw1XYSvwnQpjhpodqAV0jqhUwMEZL38WWTKqfcw5+Noae3fC3v4INcID8gx0JHtlJOha5Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194157; c=relaxed/simple; bh=BEXgD02hAqqj04mvEO4yWk35RrwOCmhx/VQbR1WjueI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r4u583UTNuZOHYm1zHA1Y4fYy3NfgC921eg1xuyYTx+ABqvaV/iKakqC2t+0n+wYIZJnbSq1cs56GaE5EXuJb8zBFylVFpHq0VhSiQE4fO/SB8tmUDweWYmRNNoEHxdgUpqTn6H0bwMBcbSE0a6tfOpBdAiHDnn1++3lWYtNvV8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=SsphHgJu; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="SsphHgJu" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194156; x=1746730156; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BEXgD02hAqqj04mvEO4yWk35RrwOCmhx/VQbR1WjueI=; b=SsphHgJuG+k/og9M61nuovO3f/FqECXNeACuF3NkeTnmd4HuQQFWbChd H7Sq3EIffUJhT0j5U0T8GbLEe77nGfo9dZOw0clKpVgwieiCw0499PvQZ Efq+4GcCd7yk3csLA1qG7Y2K4LcY6Ooo38UXsN9uKd/l0990tToOVJ2zj F4+UnEaWzpL4BPHoQrLg0d2nBto85ImRq3uWoxlfdk+t9KWKzBFS59x4p lbtscz6g4NUncnLX+8hb/GTrd2ZHlkzRjB2eGEmlFPs4JqBC9ydyTbnNH I9CYLtLlZwaH4hftppwYzXYf8wDZmfsePgCGkodDsHCoM8uAzFUGEHzjv g==; X-CSE-ConnectionGUID: 4ovc+EvhTNKh3QboDhi6pQ== X-CSE-MsgGUID: NwvD1bDlQZ6lp+Bi0zOdqA== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="28591017" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28591017" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:15 -0700 X-CSE-ConnectionGUID: o8yt8q5bTJikLQ3KWHNeJg== X-CSE-MsgGUID: 1f9U0mIHS/6wu4QDgVcC7w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="29024947" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 08 May 2024 11:49:13 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9EFFD743; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 04/10] misc: eeprom_93xx46: Hide legacy platform data in the driver Date: Wed, 8 May 2024 21:46:57 +0300 Message-ID: <20240508184905.2102633-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" First of all, there is no user for the platform data in the kernel. Second, it needs a lot of updates to follow the modern standards of the kernel, including proper Device Tree bindings and device property handling. For now, just hide the legacy platform data in the driver's code. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 35 ++++++++++++++++++++++++----- include/linux/eeprom_93xx46.h | 32 -------------------------- 2 files changed, 29 insertions(+), 38 deletions(-) delete mode 100644 include/linux/eeprom_93xx46.h diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index bbcc9412bb4e..a5a043ddedbb 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -5,6 +5,7 @@ * (C) 2011 DENX Software Engineering, Anatolij Gustschin */ =20 +#include #include #include #include @@ -19,7 +20,31 @@ =20 #include =20 -#include +struct eeprom_93xx46_platform_data { + unsigned char flags; +#define EE_ADDR8 0x01 /* 8 bit addr. cfg */ +#define EE_ADDR16 0x02 /* 16 bit addr. cfg */ +#define EE_READONLY 0x08 /* forbid writing */ +#define EE_SIZE1K 0x10 /* 1 kb of data, that is a 93xx46 */ +#define EE_SIZE2K 0x20 /* 2 kb of data, that is a 93xx56 */ +#define EE_SIZE4K 0x40 /* 4 kb of data, that is a 93xx66 */ + + unsigned int quirks; +/* Single word read transfers only; no sequential read. */ +#define EEPROM_93XX46_QUIRK_SINGLE_WORD_READ (1 << 0) +/* Instructions such as EWEN are (addrlen + 2) in length. */ +#define EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH (1 << 1) +/* Add extra cycle after address during a read */ +#define EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE BIT(2) + + /* + * optional hooks to control additional logic + * before and after spi transfer. + */ + void (*prepare)(void *); + void (*finish)(void *); + struct gpio_desc *select; +}; =20 #define OP_START 0x4 #define OP_WRITE (OP_START | 0x1) @@ -479,11 +504,9 @@ static int eeprom_93xx46_probe(struct spi_device *spi) struct device *dev =3D &spi->dev; int err; =20 - if (dev_fwnode(dev)) { - err =3D eeprom_93xx46_probe_fw(dev); - if (err < 0) - return err; - } + err =3D eeprom_93xx46_probe_fw(dev); + if (err < 0) + return err; =20 pd =3D spi->dev.platform_data; if (!pd) { diff --git a/include/linux/eeprom_93xx46.h b/include/linux/eeprom_93xx46.h deleted file mode 100644 index 34c2175e6a1e..000000000000 --- a/include/linux/eeprom_93xx46.h +++ /dev/null @@ -1,32 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * Module: eeprom_93xx46 - * platform description for 93xx46 EEPROMs. - */ -#include - -struct eeprom_93xx46_platform_data { - unsigned char flags; -#define EE_ADDR8 0x01 /* 8 bit addr. cfg */ -#define EE_ADDR16 0x02 /* 16 bit addr. cfg */ -#define EE_READONLY 0x08 /* forbid writing */ -#define EE_SIZE1K 0x10 /* 1 kb of data, that is a 93xx46 */ -#define EE_SIZE2K 0x20 /* 2 kb of data, that is a 93xx56 */ -#define EE_SIZE4K 0x40 /* 4 kb of data, that is a 93xx66 */ - - unsigned int quirks; -/* Single word read transfers only; no sequential read. */ -#define EEPROM_93XX46_QUIRK_SINGLE_WORD_READ (1 << 0) -/* Instructions such as EWEN are (addrlen + 2) in length. */ -#define EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH (1 << 1) -/* Add extra cycle after address during a read */ -#define EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE BIT(2) - - /* - * optional hooks to control additional logic - * before and after spi transfer. - */ - void (*prepare)(void *); - void (*finish)(void *); - struct gpio_desc *select; -}; --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E695312E1FF for ; Wed, 8 May 2024 18:49:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194160; cv=none; b=SL1W8lllUYsnFEkW2iIcURz2LZ/zN51aa1OxgQ7eJP4QvlP5PkKBEgaYdfzGMSRkSr08OERoM1yHuFTCK3aey4NSBtI90eew/9PpvANjC866qA0+wdlZxTOLqs2DtZPEmNO7TJFTlUTP6s32AHkm5OR4cmwiJ5B0+CZQU0n68rU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194160; c=relaxed/simple; bh=XHHtXSHKttwhznEXOospov8JgLdUaQ19JoW77OK0grI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iZPR8TlHwf6i7O2XUiqVNuowMiF8/QX7wJpOUqWTZEoc1pYHPpKhArNIgtgpbgDm2YTQFEPIXnaoD2gCSKb2fRaAeRMyk33/m+1lTVxOnh+hxq2Ree1gV10WK7ARU5FUt3ogFjQEBs8axyxNXNmcIPYgF5NOqmgRH1vtMcpnf6o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=AjYg4F9Y; arc=none smtp.client-ip=192.198.163.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="AjYg4F9Y" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194159; x=1746730159; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=XHHtXSHKttwhznEXOospov8JgLdUaQ19JoW77OK0grI=; b=AjYg4F9Y20FMU4ha92agNrZ9dZmjk7SYJOEcym0aRp6lUNLJwFgUBeeA cEtrEYKt/fQzToNqZeDlbvyHpNxxTMD58T3YX9PD6ZIDNk+WI2BbSiR27 +GtOmsOWqpjOj8Qu2Un+N0pnTTHHPcSJlmecTx85Gq0W2fmoybNmCNyXJ 2BYUiD73OHsOnzTLSTcXX+rrONh9LDTWa7Zhj6Nn+Ex6kGqDaqsps2rRq BK1pxzce0t401zuvKko55issBumPPhl0X8Dl4qsUN4ECMHbrrSIX3lQXW LUlqKXXyEgg+ZGnz2ksQhVeNxKCKlfReDw6QR8cinlWH0e6GdnRNFg2eT A==; X-CSE-ConnectionGUID: zqjFRHJcRvuOsIhAPSeuJQ== X-CSE-MsgGUID: z72ECz8VSMivdqTe4I/8Fw== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="36457772" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="36457772" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:18 -0700 X-CSE-ConnectionGUID: JFtiCinyRbelhm2ndi5ecA== X-CSE-MsgGUID: YuFuB+kfTZ6l4B8OQS387w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28957218" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa009.fm.intel.com with ESMTP; 08 May 2024 11:49:16 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id AB84D83F; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 05/10] misc: eeprom_93xx46: Remove ->prepare() and ->finish() customisation Date: Wed, 8 May 2024 21:46:58 +0300 Message-ID: <20240508184905.2102633-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" Currently there is only one way how chip is prepared and unprepared for an operation. Drop unnecessary customisation. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 48 +++++------------------------ 1 file changed, 8 insertions(+), 40 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index a5a043ddedbb..b6d699c1cd39 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -37,12 +37,6 @@ struct eeprom_93xx46_platform_data { /* Add extra cycle after address during a read */ #define EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE BIT(2) =20 - /* - * optional hooks to control additional logic - * before and after spi transfer. - */ - void (*prepare)(void *); - void (*finish)(void *); struct gpio_desc *select; }; =20 @@ -123,8 +117,7 @@ static int eeprom_93xx46_read(void *priv, unsigned int = off, =20 mutex_lock(&edev->lock); =20 - if (edev->pdata->prepare) - edev->pdata->prepare(edev); + gpiod_set_value_cansleep(edev->pdata->select, 1); =20 /* The opcode in front of the address is three bits. */ bits =3D edev->addrlen + 3; @@ -180,8 +173,7 @@ static int eeprom_93xx46_read(void *priv, unsigned int = off, count -=3D nbytes; } =20 - if (edev->pdata->finish) - edev->pdata->finish(edev); + gpiod_set_value_cansleep(edev->pdata->select, 0); =20 mutex_unlock(&edev->lock); =20 @@ -222,8 +214,7 @@ static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *e= dev, int is_on) =20 mutex_lock(&edev->lock); =20 - if (edev->pdata->prepare) - edev->pdata->prepare(edev); + gpiod_set_value_cansleep(edev->pdata->select, 1); =20 ret =3D spi_sync(edev->spi, &m); /* have to wait at least Tcsl ns */ @@ -232,8 +223,7 @@ static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *e= dev, int is_on) dev_err(&edev->spi->dev, "erase/write %sable error %d\n", is_on ? "en" : "dis", ret); =20 - if (edev->pdata->finish) - edev->pdata->finish(edev); + gpiod_set_value_cansleep(edev->pdata->select, 0); =20 mutex_unlock(&edev->lock); return ret; @@ -312,8 +302,7 @@ static int eeprom_93xx46_write(void *priv, unsigned int= off, =20 mutex_lock(&edev->lock); =20 - if (edev->pdata->prepare) - edev->pdata->prepare(edev); + gpiod_set_value_cansleep(edev->pdata->select, 1); =20 for (i =3D 0; i < count; i +=3D step) { ret =3D eeprom_93xx46_write_word(edev, &buf[i], off + i); @@ -324,8 +313,7 @@ static int eeprom_93xx46_write(void *priv, unsigned int= off, } } =20 - if (edev->pdata->finish) - edev->pdata->finish(edev); + gpiod_set_value_cansleep(edev->pdata->select, 0); =20 mutex_unlock(&edev->lock); =20 @@ -336,7 +324,6 @@ static int eeprom_93xx46_write(void *priv, unsigned int= off, =20 static int eeprom_93xx46_eral(struct eeprom_93xx46_dev *edev) { - struct eeprom_93xx46_platform_data *pd =3D edev->pdata; struct spi_message m; struct spi_transfer t; int bits, ret; @@ -368,8 +355,7 @@ static int eeprom_93xx46_eral(struct eeprom_93xx46_dev = *edev) =20 mutex_lock(&edev->lock); =20 - if (edev->pdata->prepare) - edev->pdata->prepare(edev); + gpiod_set_value_cansleep(edev->pdata->select, 1); =20 ret =3D spi_sync(edev->spi, &m); if (ret) @@ -377,8 +363,7 @@ static int eeprom_93xx46_eral(struct eeprom_93xx46_dev = *edev) /* have to wait erase cycle time Tec ms */ mdelay(6); =20 - if (pd->finish) - pd->finish(edev); + gpiod_set_value_cansleep(edev->pdata->select, 0); =20 mutex_unlock(&edev->lock); return ret; @@ -407,20 +392,6 @@ static ssize_t eeprom_93xx46_store_erase(struct device= *dev, } static DEVICE_ATTR(erase, S_IWUSR, NULL, eeprom_93xx46_store_erase); =20 -static void select_assert(void *context) -{ - struct eeprom_93xx46_dev *edev =3D context; - - gpiod_set_value_cansleep(edev->pdata->select, 1); -} - -static void select_deassert(void *context) -{ - struct eeprom_93xx46_dev *edev =3D context; - - gpiod_set_value_cansleep(edev->pdata->select, 0); -} - static const struct of_device_id eeprom_93xx46_of_table[] =3D { { .compatible =3D "eeprom-93xx46", .data =3D &at93c46_data, }, { .compatible =3D "atmel,at93c46", .data =3D &at93c46_data, }, @@ -483,9 +454,6 @@ static int eeprom_93xx46_probe_fw(struct device *dev) return PTR_ERR(pd->select); gpiod_set_consumer_name(pd->select, "93xx46 EEPROMs OE"); =20 - pd->prepare =3D select_assert; - pd->finish =3D select_deassert; - data =3D spi_get_device_match_data(to_spi_device(dev)); if (data) { pd->quirks =3D data->quirks; --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8060212F5B3 for ; Wed, 8 May 2024 18:49:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; cv=none; b=DPSUdo0rTQgljoKvk3wqIgoHdpqYGJVYUotwxEhJJ3OIUEO+S7owAOuk79DToDU+ZmUAtQ6pgdPc7eAX2v03aiJ/0r04ob4enBFD3tV9EIxdB02WjyUnzOKeFkma92kZ7Eh7LpelVhGCR/0F28ZR6+5Z8xsjAinSrQq8QKydX08= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; c=relaxed/simple; bh=eokxhcRPfOdt4CQjToH0FzQ/z/QnbnZ6/eXOMoDsJlQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=U8Qw1is+MJ7ya6o8th9iI2lqVT9MdYBUaDHrBrBDS4AEzXNXAInqH3NZW3qeFkm/qAdaJ4+oTfTLKGZPmqGH4PKrGweuqGmsiAokNoK+BDgkfqfWia5TBAyK1qTHQTHkn/qWbdJN69+wm7IwPm4ovL7P9/gHeubfhrObohhlBtI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=SXTUH8U0; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="SXTUH8U0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194159; x=1746730159; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eokxhcRPfOdt4CQjToH0FzQ/z/QnbnZ6/eXOMoDsJlQ=; b=SXTUH8U0tmCmfI5BSl5a2XmuGk/0HUOm9JPGzqrkm5fHeo7AI30IbGJj +BdjQCmz9my37MWw2yGmIwObPEKKCU5j3JMN6fcdCWoTsLQvONNwY1Gcb BRIHhxxgpdsPBTOVxtdoyQuHLGK6CgVo7VtxLkcnMezU8rRxI8ToIN/0N x3h4CYEGV68J5A4Us3OT4nHyd6gSYD4Vom2ObpxwnCLccs4WJuRticnaY biGZsTs0b6HojWNm8yLpcWaWPt9UzHPQLhOKmnA07ja7o7cSQKC5hp3Ci HNWLdhVaxDH6uVuKNf7e05hvmxFmcpNZL0aTS950H+fm/mRljkzgnr7M7 g==; X-CSE-ConnectionGUID: tzvfWUyeRxOb7OlnM46jAQ== X-CSE-MsgGUID: 8rD9lYFlSMGD8oPF7RIu+Q== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="28591026" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28591026" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:17 -0700 X-CSE-ConnectionGUID: HgQzH7tOR3WZ1acLJpuqsQ== X-CSE-MsgGUID: Sl+E7NX2QjS2++BdTXMHDg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="29024972" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 08 May 2024 11:49:16 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id B30A9C40; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 06/10] misc: eeprom_93xx46: Use spi_message_init_with_transfers() Date: Wed, 8 May 2024 21:46:59 +0300 Message-ID: <20240508184905.2102633-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" Replace open coded spi_message_init_with_transfers(). Signed-off-by: Andy Shevchenko --- drivers/misc/eeprom/eeprom_93xx46.c | 34 +++++++++++------------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index b6d699c1cd39..3f885bac72c2 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -5,6 +5,7 @@ * (C) 2011 DENX Software Engineering, Anatolij Gustschin */ =20 +#include #include #include #include @@ -124,7 +125,7 @@ static int eeprom_93xx46_read(void *priv, unsigned int = off, =20 while (count) { struct spi_message m; - struct spi_transfer t[2] =3D { { 0 } }; + struct spi_transfer t[2] =3D {}; u16 cmd_addr =3D OP_READ << edev->addrlen; size_t nbytes =3D count; =20 @@ -146,17 +147,15 @@ static int eeprom_93xx46_read(void *priv, unsigned in= t off, bits +=3D 1; } =20 - spi_message_init(&m); - t[0].tx_buf =3D (char *)&cmd_addr; t[0].len =3D 2; t[0].bits_per_word =3D bits; - spi_message_add_tail(&t[0], &m); =20 t[1].rx_buf =3D buf; t[1].len =3D count; t[1].bits_per_word =3D 8; - spi_message_add_tail(&t[1], &m); + + spi_message_init_with_transfers(&m, t, ARRAY_SIZE(t)); =20 err =3D spi_sync(edev->spi, &m); /* have to wait at least Tcsl ns */ @@ -183,7 +182,7 @@ static int eeprom_93xx46_read(void *priv, unsigned int = off, static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *edev, int is_on) { struct spi_message m; - struct spi_transfer t; + struct spi_transfer t =3D {}; int bits, ret; u16 cmd_addr; =20 @@ -204,13 +203,11 @@ static int eeprom_93xx46_ew(struct eeprom_93xx46_dev = *edev, int is_on) dev_dbg(&edev->spi->dev, "ew%s cmd 0x%04x, %d bits\n", is_on ? "en" : "ds", cmd_addr, bits); =20 - spi_message_init(&m); - memset(&t, 0, sizeof(t)); - t.tx_buf =3D &cmd_addr; t.len =3D 2; t.bits_per_word =3D bits; - spi_message_add_tail(&t, &m); + + spi_message_init_with_transfers(&m, &t, 1); =20 mutex_lock(&edev->lock); =20 @@ -234,7 +231,7 @@ eeprom_93xx46_write_word(struct eeprom_93xx46_dev *edev, const char *buf, unsigned off) { struct spi_message m; - struct spi_transfer t[2]; + struct spi_transfer t[2] =3D {}; int bits, data_len, ret; u16 cmd_addr; =20 @@ -256,18 +253,15 @@ eeprom_93xx46_write_word(struct eeprom_93xx46_dev *ed= ev, =20 dev_dbg(&edev->spi->dev, "write cmd 0x%x\n", cmd_addr); =20 - spi_message_init(&m); - memset(t, 0, sizeof(t)); - t[0].tx_buf =3D (char *)&cmd_addr; t[0].len =3D 2; t[0].bits_per_word =3D bits; - spi_message_add_tail(&t[0], &m); =20 t[1].tx_buf =3D buf; t[1].len =3D data_len; t[1].bits_per_word =3D 8; - spi_message_add_tail(&t[1], &m); + + spi_message_init_with_transfers(&m, t, ARRAY_SIZE(t)); =20 ret =3D spi_sync(edev->spi, &m); /* have to wait program cycle time Twc ms */ @@ -325,7 +319,7 @@ static int eeprom_93xx46_write(void *priv, unsigned int= off, static int eeprom_93xx46_eral(struct eeprom_93xx46_dev *edev) { struct spi_message m; - struct spi_transfer t; + struct spi_transfer t =3D {}; int bits, ret; u16 cmd_addr; =20 @@ -345,13 +339,11 @@ static int eeprom_93xx46_eral(struct eeprom_93xx46_de= v *edev) =20 dev_dbg(&edev->spi->dev, "eral cmd 0x%04x, %d bits\n", cmd_addr, bits); =20 - spi_message_init(&m); - memset(&t, 0, sizeof(t)); - t.tx_buf =3D &cmd_addr; t.len =3D 2; t.bits_per_word =3D bits; - spi_message_add_tail(&t, &m); + + spi_message_init_with_transfers(&m, &t, 1); =20 mutex_lock(&edev->lock); =20 --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E884912FF73 for ; Wed, 8 May 2024 18:49:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; cv=none; b=BNY+AW49zMlUJyw+BHaU6Se28ou+jZYCaseNd9QYKA3HdOQBIKLynNrQO3bQMaOB86Qw8fhsNHcWvAw1EaAcwNN1U8VM/su+UUiRY3BKauAIBMPFFMp2zMogurzSp3S+qoEn93mNof1hq8hikVDJLHq6JPCIafYu0eCvaE4VfJA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; c=relaxed/simple; bh=gd7PMl27AoVAQ2ia5Bgo3BitWkSsgq61mZW0eRFY/TM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=e6UtF5FCMnN13Jwf2O5ARjjVOqUdzb+4bgse3lx9soihMOqm+7Rf5K457y5hrdobXeo7FIWevVB1XtwX3JlcZCoNN071L2RQBZgGhg+vMgxTuaNh/ael5l3mZNJYwEMg1GBcOqb97ESkTXRdxhleGOcdlT9xev9u+4tLbhf2u/c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=BwT2gHw2; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BwT2gHw2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194160; x=1746730160; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gd7PMl27AoVAQ2ia5Bgo3BitWkSsgq61mZW0eRFY/TM=; b=BwT2gHw2IpJP14SwhSnVD+GFCAPVmimoqQe6UlcEXkqiXTOP29hP744y z6ZcrBYk72B7mmP1iPpF2ZTEdnOzF8oTBbhZRb2GckeqKj5sBdqWZ/Tk0 gBRUkIzGgrUcmpQ98QSDuf28ovIW2o8kjIPadgC72X/Txw9vYQ6S68Ejp ZKyj4qd8sv+PZ8P2buBHViLkOIjT+G0iVkuQzJEOJ3LdnBlZcWtK3Wd0U b4i2U/iNjncEP+9/SXsiFcgnRW5Q23RAvtzzqJ/Pi9FyD7JEVH0afdmhF zb++CWQl7iz0GFxLbe52SoOwpH5Y+rNDloQGFKjgSO+XB4dH+g/DT88eD g==; X-CSE-ConnectionGUID: Bndd3cpNQzWMUkmP792+HA== X-CSE-MsgGUID: oQcu8kSyQK2Q2PO8jcFqyw== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="28591030" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28591030" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:17 -0700 X-CSE-ConnectionGUID: yUhMmsEfSPeoIoDAIhI8Bg== X-CSE-MsgGUID: 4LUFf3YBRBKx5D2fS5IBiQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="29024974" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 08 May 2024 11:49:16 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id BC1A3D5A; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 07/10] misc: eeprom_93xx46: Convert to use kstrtox() Date: Wed, 8 May 2024 21:47:00 +0300 Message-ID: <20240508184905.2102633-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" sscanf() is a heavy one and moreover requires additional boundary checks. Convert driver to use kstrtobool() in eeprom_93xx46_store_erase(). Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index 3f885bac72c2..18a3b534ea73 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include @@ -366,9 +366,13 @@ static ssize_t eeprom_93xx46_store_erase(struct device= *dev, const char *buf, size_t count) { struct eeprom_93xx46_dev *edev =3D dev_get_drvdata(dev); - int erase =3D 0, ret; + bool erase; + int ret; + + ret =3D kstrtobool(buf, &erase); + if (ret) + return ret; =20 - sscanf(buf, "%d", &erase); if (erase) { ret =3D eeprom_93xx46_ew(edev, 1); if (ret) --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6CAAA12F582 for ; Wed, 8 May 2024 18:49:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; cv=none; b=OFR5HIelhP0TKdv/oxPrZ4nNERtuqfqAslyHr2k7yEThqIf5fYo3ZWvPal2lTPOJXKVoRXyjprxZGOaXReb6WObfHoFVjQttLV8V1OXyqk3Fg1r4hgSG9uzOwrNRSNWdMABTV/y339pAqNu8K4oaxfeSyr4ABBHgYz231EWIYqI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; c=relaxed/simple; bh=hd+FSPktwPD2NcYKRreZq3cQ1ikz55qeFiAASrNEG50=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O0yEBkODtMsJZmuGgbtrziIScbcB4iBzPHoSVSbcnLLDzQGT2ibSLCMKnope3LaXEg+yvpxsh4u39omJcJHpCGgt50gMlFb6IouX5vjhilPFDfnCL9RpADZo2KfMOVJ/+K6wIuWGaSn0QfQYWZudDMkyzAAbS7/y4z4qgLzpI7o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lXHcMZ0f; arc=none smtp.client-ip=192.198.163.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lXHcMZ0f" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194160; x=1746730160; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hd+FSPktwPD2NcYKRreZq3cQ1ikz55qeFiAASrNEG50=; b=lXHcMZ0fQM61GHqNmfhwxoRHDuljVJlHeRUMADKckSUP/J3w+A0jHeuL QL69VOPpiursSKuL6gFQ/NdWVHM6VEhhEte6jz+wakV6YV6T+k3kvM8r3 CMpVvQQe4QfrVzZ/KCX4RpQlBcMVKFch1GqLTHWtStQL0RCoPk91UuQpP ivXaiWWJ8fYaaVbRNgC5nP31EGXuGkHkMxhG+9CwsJ3JXY7cNxZfn5fE3 AQ1qPJoDPx/iMck8dOOBa4fIUlVB3dcKAwBxFtwyfuTFprf0udsgc7cnC rCRJUrnZvVIqh4qNIfAGnk7/vq6ulA6Co05fNqeQS+aK7suK/IkqD8q1i w==; X-CSE-ConnectionGUID: xS1D0IvYSSyWZaB+i7GxoA== X-CSE-MsgGUID: ELvcE6P7RsGkeDxf7kZ6VA== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="36457776" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="36457776" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:18 -0700 X-CSE-ConnectionGUID: kq6I8R3mT5CiJjCYFvDp+w== X-CSE-MsgGUID: iOck02fWSHSZQUgxLuhOAQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28957220" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa009.fm.intel.com with ESMTP; 08 May 2024 11:49:16 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id C58CE11F; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 08/10] misc: eeprom_93xx46: Replace explicit castings with proper specifiers Date: Wed, 8 May 2024 21:47:01 +0300 Message-ID: <20240508184905.2102633-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" There is no need to have an explicit casting when we can simply use the correct printf() specifier. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index 18a3b534ea73..ac485b2827db 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -162,8 +162,8 @@ static int eeprom_93xx46_read(void *priv, unsigned int = off, ndelay(250); =20 if (err) { - dev_err(&edev->spi->dev, "read %zu bytes at %d: err. %d\n", - nbytes, (int)off, err); + dev_err(&edev->spi->dev, "read %zu bytes at %u: err. %d\n", + nbytes, off, err); break; } =20 @@ -274,7 +274,8 @@ static int eeprom_93xx46_write(void *priv, unsigned int= off, { struct eeprom_93xx46_dev *edev =3D priv; char *buf =3D val; - int i, ret, step =3D 1; + int ret, step =3D 1; + unsigned int i; =20 if (unlikely(off >=3D edev->size)) return -EFBIG; @@ -301,8 +302,7 @@ static int eeprom_93xx46_write(void *priv, unsigned int= off, for (i =3D 0; i < count; i +=3D step) { ret =3D eeprom_93xx46_write_word(edev, &buf[i], off + i); if (ret) { - dev_err(&edev->spi->dev, "write failed at %d: %d\n", - (int)off + i, ret); + dev_err(&edev->spi->dev, "write failed at %u: %d\n", off + i, ret); break; } } --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 91556130A77 for ; Wed, 8 May 2024 18:49:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194163; cv=none; b=gBUiPQQvCTG7bb3dK2OjwybdBUxHXS+kJJL/uTnWyuELcYjq/VbMenw0c2QLYBTUuK8MjUwZ40zcWaO8C/lSOrCKPZX+cN2KxkIEgb/CZmRN5XiHV4LavLVay7wR2eQrypLZFi3NU3cFlmGJ+4iewERO8+t41wJ6ihzBKWFt3rw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194163; c=relaxed/simple; bh=uUPUvRQ+1LpkdemUFxvOO+zjWvpA4NDPnZiawXNIjJ8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j1keXJuctJllD5lrtp9yje7qoONeI4lno9xiT5fX7uFRnOiHOuqa9iV+xlgHx5BA9i7llLHvu8w4r0k+rdvx+8jvL6zE+hJb57wBwjRvLO5rGWOTIrCC81M/A0Q8umIrspmQe/eQx6ltCVhPXibWT3HiFmZ1YwdHQyAds78JNvc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=LFmEDv+B; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="LFmEDv+B" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194161; x=1746730161; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=uUPUvRQ+1LpkdemUFxvOO+zjWvpA4NDPnZiawXNIjJ8=; b=LFmEDv+BxPvy71UhjyOfS9QY/hj9WU1TZxD2A+eSCjHWqlsGMWIV1tbP fEMOwfZX1yDmO62cksaWj8O50TFLQANH4nU3rj7hW8BdZcn4A/Uwpv+dX CF06MQLdCiVhhlHc3TO2BgNbcyN36whhkDnT8ccSX9lIE4S/rxnOWJhKa nzHvNnbQBX/aOPfjRuwMh8xrUOq0EQpyZGTTxVem47jvxV2fkeMaRl3CW 6q7zRnNmNMbAKa171ro0bcZ88BoJcZvdx9nY765nTdmnXaTcLVShKRMFn U1i//o3uRv9JbiB5TjPOhAKzrLN/UywPNxwer79MIizrPKCtYtrY6eHbf Q==; X-CSE-ConnectionGUID: csMqAdzTSNa0+7JTcQUZAA== X-CSE-MsgGUID: wpdYyVqOTpefDf0kO6TMKQ== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="28591038" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28591038" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:18 -0700 X-CSE-ConnectionGUID: Qmiqg7hKQDaOWCD+NYBmSw== X-CSE-MsgGUID: +Jb5DI74T7urCoCk0he8mg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="29024976" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 08 May 2024 11:49:16 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id D3A0CEF6; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 09/10] misc: eeprom_93xx46: Use string_choices API instead of ternary operator Date: Wed, 8 May 2024 21:47:02 +0300 Message-ID: <20240508184905.2102633-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" Use modern string_choices API instead of manually determining the output using ternary operator. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index ac485b2827db..ad3b3bc054da 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -18,6 +18,7 @@ #include #include #include +#include =20 #include =20 @@ -200,8 +201,8 @@ static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *e= dev, int is_on) bits +=3D 2; } =20 - dev_dbg(&edev->spi->dev, "ew%s cmd 0x%04x, %d bits\n", - is_on ? "en" : "ds", cmd_addr, bits); + dev_dbg(&edev->spi->dev, "ew %s cmd 0x%04x, %d bits\n", + str_enable_disable(is_on), cmd_addr, bits); =20 t.tx_buf =3D &cmd_addr; t.len =3D 2; @@ -217,8 +218,8 @@ static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *e= dev, int is_on) /* have to wait at least Tcsl ns */ ndelay(250); if (ret) - dev_err(&edev->spi->dev, "erase/write %sable error %d\n", - is_on ? "en" : "dis", ret); + dev_err(&edev->spi->dev, "erase/write %s error %d\n", + str_enable_disable(is_on), ret); =20 gpiod_set_value_cansleep(edev->pdata->select, 0); =20 --=20 2.43.0.rc1.1336.g36b5255a03ac From nobody Mon Feb 9 18:20:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A03512FF92 for ; Wed, 8 May 2024 18:49:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; cv=none; b=f54AEA0oxxrgZ53dzfjLWtOemc38ZEvRv15AvApUUNh4DwKAI4M5RB9WtiNBRQonwLd8XAqOfP+7gfux/XcHNCzPLGOr0Hvl1SlTp44faTsJRv5v073u6auo+ge+Cc9SF7ZF7GYkeCJ+R9B5uOsKFYmsadHFk1hKF48DU6EpLUg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715194161; c=relaxed/simple; bh=0f/yTpdDLdJ89hKtfdhDwCA8ZKZ27aJDEXdaL+qXlGY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PEsarmgfMXN/j9jZnoJvLXdU/r97dlUlJEvCBBSHkTYBXjWMSv0fk2DzTw2nzfcNzBR/UpiokJ55Er/etF0uqxgXOT84/B6FNOMPbE8RlLhtzSd1GUhrcsiw4wkgVuxylAu1lHzmdKOTjNLWJVdOxvaPZNmeCAurwMZHubf5TB8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Of4ME6Vz; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Of4ME6Vz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715194160; x=1746730160; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0f/yTpdDLdJ89hKtfdhDwCA8ZKZ27aJDEXdaL+qXlGY=; b=Of4ME6Vz85UvRXwxNo4TBqgUhXAFsNHttHIK/5CVSx/LsRWhyFEDbMa/ 3A/OaoK2FmZYIGZqzFr1xYorFQaAsYccfLr2c9XL6udzuON7Bz1GugPRX pDpdNQu2IPFRxBx3sh7zRKDJuBMxg4gV/zb3hoMykrL9qcHqF5dwodkmD 18OyCqyA2gCb4PfuEmLab37Myoy+FlypH9dH4qy6D0+VAfMivTmuejezE uvlBhp4JgP9QluDAa8l4YVwqKQ23JTh7yTnRKW42FqqLCrMu2pCWgMgK6 FsRX7KbdvwwUXrZdjg5/pMlK1uAiqCcxLphfReAZA/wC1oRupCrNvUfXK w==; X-CSE-ConnectionGUID: wqKJG/yNQaOn3x2aOUmD8Q== X-CSE-MsgGUID: gvIb/F8xQlmTlMrr39/SpQ== X-IronPort-AV: E=McAfee;i="6600,9927,11067"; a="28591034" X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="28591034" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2024 11:49:18 -0700 X-CSE-ConnectionGUID: KSwh+shwTyaTyw1ml005ug== X-CSE-MsgGUID: aMib/VTzSGOR8EELSOUWng== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,145,1712646000"; d="scan'208";a="29024975" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 08 May 2024 11:49:16 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id DD3FEE81; Wed, 08 May 2024 21:49:12 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Greg Kroah-Hartman , Linus Walleij Subject: [PATCH v1 10/10] misc: eeprom_93xx46: Convert to DEVICE_ATTR_WO() Date: Wed, 8 May 2024 21:47:03 +0300 Message-ID: <20240508184905.2102633-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.com> References: <20240508184905.2102633-1-andriy.shevchenko@linux.intel.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" Use DEVICE_ATTR_WO() helper instead of plain DEVICE_ATTR(), which makes the code a bit shorter and easier to read. Signed-off-by: Andy Shevchenko Reviewed-by: Linus Walleij --- drivers/misc/eeprom/eeprom_93xx46.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index ad3b3bc054da..e2221be88445 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -362,9 +362,8 @@ static int eeprom_93xx46_eral(struct eeprom_93xx46_dev = *edev) return ret; } =20 -static ssize_t eeprom_93xx46_store_erase(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) +static ssize_t erase_store(struct device *dev, struct device_attribute *at= tr, + const char *buf, size_t count) { struct eeprom_93xx46_dev *edev =3D dev_get_drvdata(dev); bool erase; @@ -387,7 +386,7 @@ static ssize_t eeprom_93xx46_store_erase(struct device = *dev, } return count; } -static DEVICE_ATTR(erase, S_IWUSR, NULL, eeprom_93xx46_store_erase); +static DEVICE_ATTR_WO(erase); =20 static const struct of_device_id eeprom_93xx46_of_table[] =3D { { .compatible =3D "eeprom-93xx46", .data =3D &at93c46_data, }, --=20 2.43.0.rc1.1336.g36b5255a03ac