linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Cristian Marussi <cristian.marussi@arm.com>
To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Cc: sudeep.holla@arm.com, lukasz.luba@arm.com,
	james.quinlan@broadcom.com, Jonathan.Cameron@Huawei.com,
	f.fainelli@gmail.com, etienne.carriere@linaro.org,
	thara.gopinath@linaro.org, vincent.guittot@linaro.org,
	souvik.chakravarty@arm.com, cristian.marussi@arm.com
Subject: [PATCH v7 32/38] firmware: arm_scmi: cleanup legacy protocol init code
Date: Tue, 16 Mar 2021 12:48:57 +0000	[thread overview]
Message-ID: <20210316124903.35011-33-cristian.marussi@arm.com> (raw)
In-Reply-To: <20210316124903.35011-1-cristian.marussi@arm.com>

Now that all protocols and drivers have been ported to the new interface
based on protocol handles and get/put operations, remove all the legacy
transient initialization code.

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
---
 drivers/firmware/arm_scmi/bus.c    | 26 +-------------------------
 drivers/firmware/arm_scmi/common.h |  5 +----
 2 files changed, 2 insertions(+), 29 deletions(-)

diff --git a/drivers/firmware/arm_scmi/bus.c b/drivers/firmware/arm_scmi/bus.c
index 4e8f6ea355dd..992d50e10111 100644
--- a/drivers/firmware/arm_scmi/bus.c
+++ b/drivers/firmware/arm_scmi/bus.c
@@ -66,27 +66,11 @@ const struct scmi_protocol *scmi_protocol_get(int protocol_id)
 	return proto;
 }
 
-static int scmi_protocol_init(int protocol_id, struct scmi_handle *handle)
-{
-	const struct scmi_protocol *proto;
-
-	proto = scmi_protocol_get(protocol_id);
-	if (!proto)
-		return -EINVAL;
-	return proto->init(handle);
-}
-
-static int scmi_protocol_dummy_init(struct scmi_handle *handle)
-{
-	return 0;
-}
-
 static int scmi_dev_probe(struct device *dev)
 {
 	struct scmi_driver *scmi_drv = to_scmi_driver(dev->driver);
 	struct scmi_device *scmi_dev = to_scmi_dev(dev);
 	const struct scmi_device_id *id;
-	int ret;
 
 	id = scmi_dev_match_id(scmi_dev, scmi_drv);
 	if (!id)
@@ -95,14 +79,6 @@ static int scmi_dev_probe(struct device *dev)
 	if (!scmi_dev->handle)
 		return -EPROBE_DEFER;
 
-	ret = scmi_protocol_init(scmi_dev->protocol_id, scmi_dev->handle);
-	if (ret)
-		return ret;
-
-	/* Skip protocol initialisation for additional devices */
-	idr_replace(&scmi_protocols, &scmi_protocol_dummy_init,
-		    scmi_dev->protocol_id);
-
 	return scmi_drv->probe(scmi_dev);
 }
 
@@ -219,7 +195,7 @@ int scmi_protocol_register(const struct scmi_protocol *proto)
 		return -EINVAL;
 	}
 
-	if (!proto->init && !proto->instance_init) {
+	if (!proto->instance_init) {
 		pr_err("missing init for protocol 0x%x\n", proto->id);
 		return -EINVAL;
 	}
diff --git a/drivers/firmware/arm_scmi/common.h b/drivers/firmware/arm_scmi/common.h
index 988f806bcf74..378e9d713ec7 100644
--- a/drivers/firmware/arm_scmi/common.h
+++ b/drivers/firmware/arm_scmi/common.h
@@ -224,14 +224,12 @@ int scmi_version_get(const struct scmi_handle *h, u8 protocol, u32 *version);
 void scmi_setup_protocol_implemented(const struct scmi_protocol_handle *ph,
 				     u8 *prot_imp);
 
-typedef int (*scmi_prot_init_fn_t)(struct scmi_handle *);
 typedef int (*scmi_prot_init_ph_fn_t)(const struct scmi_protocol_handle *);
 
 /**
  * struct scmi_protocol  - Protocol descriptor
  * @id: Protocol ID.
- * @init: Mandatory protocol initialization function.
- * @instance_init: Optional protocol instance initialization function.
+ * @instance_init: Mandatory protocol initialization function.
  * @instance_deinit: Optional protocol de-initialization function.
  * @ops: Optional reference to the operations provided by the protocol and
  *	 exposed in scmi_protocol.h.
@@ -239,7 +237,6 @@ typedef int (*scmi_prot_init_ph_fn_t)(const struct scmi_protocol_handle *);
  */
 struct scmi_protocol {
 	const u8				id;
-	const scmi_prot_init_fn_t		init;
 	const scmi_prot_init_ph_fn_t		instance_init;
 	const scmi_prot_init_ph_fn_t		instance_deinit;
 	const void				*ops;
-- 
2.17.1


  parent reply	other threads:[~2021-03-16 12:54 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16 12:48 [PATCH v7 00/38] SCMI vendor protocols and modularization Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 01/38] firmware: arm_scmi: review protocol registration interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 02/38] firmware: arm_scmi: introduce protocol handle definitions Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 03/38] firmware: arm_scmi: introduce devres get/put protocols operations Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 04/38] firmware: arm_scmi: make notifications aware of protocols users Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 05/38] firmware: arm_scmi: introduce new devres notification ops Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 06/38] firmware: arm_scmi: refactor events registration Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 07/38] firmware: arm_scmi: convert events registration to protocol handles Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 08/38] firmware: arm_scmi: add new protocol handle core xfer ops Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 09/38] firmware: arm_scmi: add helper to access revision area memory Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 10/38] firmware: arm_scmi: port Base protocol to new interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 11/38] firmware: arm_scmi: port Perf protocol to new protocols interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 12/38] cpufreq: scmi: port driver to the new scmi_perf_proto_ops interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 13/38] firmware: arm_scmi: remove legacy scmi_perf_ops protocol interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 14/38] firmware: arm_scmi: port Power protocol to new protocols interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 15/38] firmware: arm_scmi: port GenPD driver to the new scmi_power_proto_ops interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 16/38] firmware: arm_scmi: remove legacy scmi_power_ops protocol interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 17/38] firmware: arm_scmi: port Clock protocol to new protocols interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 18/38] clk: scmi: port driver to the new scmi_clk_proto_ops interface Cristian Marussi
2021-03-23  9:46   ` Sudeep Holla
2021-03-26  0:08   ` Stephen Boyd
2021-03-26 11:02     ` Cristian Marussi
2021-03-26 13:28     ` [PATCH v8 " Cristian Marussi
2021-03-26 18:15       ` Stephen Boyd
2021-03-16 12:48 ` [PATCH v7 19/38] firmware: arm_scmi: remove legacy scmi_clk_ops protocol interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 20/38] firmware: arm_scmi: port Reset protocol to new protocols interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 21/38] reset: reset-scmi: port driver to the new scmi_reset_proto_ops interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 22/38] firmware: arm_scmi: remove legacy scmi_reset_ops protocol interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 23/38] firmware: arm_scmi: port Sensor protocol to new protocols interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 24/38] hwmon: (scmi) port driver to the new scmi_sensor_proto_ops interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 25/38] iio/scmi: " Cristian Marussi
2021-03-16 17:51   ` Jyoti Bhayana
2021-03-16 22:22     ` Cristian Marussi
2021-03-17  5:38       ` Jyoti Bhayana
2021-03-18 12:12         ` Sudeep Holla
2021-03-19 17:00           ` Jyoti Bhayana
2021-03-23  9:48           ` Sudeep Holla
2021-03-30 11:22             ` Jonathan Cameron
2021-03-30 11:33   ` Jonathan Cameron
2021-03-30 12:51     ` Cristian Marussi
2021-03-30 17:34       ` Jonathan Cameron
2021-03-31  8:32         ` Cristian Marussi
2021-03-31 12:28           ` Jonathan Cameron
2021-03-30 13:47     ` [PATCH v8 25/38] iio/scmi: Port " Cristian Marussi
2021-03-30 17:40       ` Jonathan Cameron
2021-03-16 12:48 ` [PATCH v7 26/38] firmware: arm_scmi: remove legacy scmi_sensor_ops protocol interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 27/38] firmware: arm_scmi: port SystemPower protocol to new protocols interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 28/38] firmware: arm_scmi: port Voltage " Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 29/38] regulator: scmi: port driver to the new scmi_voltage_proto_ops interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 30/38] firmware: arm_scmi: remove legacy scmi_voltage_ops protocol interface Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 31/38] firmware: arm_scmi: make references to handle const Cristian Marussi
2021-03-16 12:48 ` Cristian Marussi [this message]
2021-03-16 12:48 ` [PATCH v7 33/38] firmware: arm_scmi: cleanup unused core xfer wrappers Cristian Marussi
2021-03-16 12:48 ` [PATCH v7 34/38] firmware: arm_scmi: cleanup events registration transient code Cristian Marussi
2021-03-16 12:49 ` [PATCH v7 35/38] firmware: arm_scmi: make notify_priv really private Cristian Marussi
2021-03-16 12:49 ` [PATCH v7 36/38] firmware: arm_scmi: rename non devres notify_ops Cristian Marussi
2021-03-16 12:49 ` [PATCH v7 37/38] firmware: arm_scmi: add protocol modularization support Cristian Marussi
2021-03-16 12:49 ` [PATCH v7 38/38] firmware: arm_scmi: add dynamic scmi devices creation Cristian Marussi
2021-03-26  4:09 ` [PATCH v7 00/38] SCMI vendor protocols and modularization Florian Fainelli
2021-03-26 11:04   ` Cristian Marussi
2021-03-31  8:22 ` Sudeep Holla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210316124903.35011-33-cristian.marussi@arm.com \
    --to=cristian.marussi@arm.com \
    --cc=Jonathan.Cameron@Huawei.com \
    --cc=etienne.carriere@linaro.org \
    --cc=f.fainelli@gmail.com \
    --cc=james.quinlan@broadcom.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=souvik.chakravarty@arm.com \
    --cc=sudeep.holla@arm.com \
    --cc=thara.gopinath@linaro.org \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).