summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2026-06-12 03:59:06 +0200
committerTom Rini <[email protected]>2026-06-29 15:29:44 -0600
commit4a0990218aa9185c2ccd7986dc1ad14b24aaaa9d (patch)
tree2146da5a61d4117675891f2b52d8ed87632111b5
parenta51f24ac31fbb910afc66824e8299a417b297536 (diff)
cros_ec: Convert dm_cros_ec_get_ops into an inline function and constify dm_cros_ec_ops
Convert dm_cros_ec_get_ops into an inline function to improve compiler code coverage, and constify struct dm_cros_ec_ops in a few places. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
-rw-r--r--drivers/misc/cros_ec.c9
-rw-r--r--include/cros_ec.h7
2 files changed, 9 insertions, 7 deletions
diff --git a/drivers/misc/cros_ec.c b/drivers/misc/cros_ec.c
index c3e647edfac..e163224b8e3 100644
--- a/drivers/misc/cros_ec.c
+++ b/drivers/misc/cros_ec.c
@@ -258,7 +258,7 @@ static int send_command_proto3(struct cros_ec_dev *cdev,
const void *dout, int dout_len,
uint8_t **dinp, int din_len)
{
- struct dm_cros_ec_ops *ops;
+ const struct dm_cros_ec_ops *ops;
int out_bytes, in_bytes;
int rv;
@@ -287,7 +287,7 @@ static int send_command(struct cros_ec_dev *dev, uint cmd, int cmd_version,
const void *dout, int dout_len,
uint8_t **dinp, int din_len)
{
- struct dm_cros_ec_ops *ops;
+ const struct dm_cros_ec_ops *ops;
int ret = -1;
/* Handle protocol version 3 support */
@@ -756,9 +756,8 @@ int cros_ec_flash_protect(struct udevice *dev, uint32_t set_mask,
static int cros_ec_check_version(struct udevice *dev)
{
struct cros_ec_dev *cdev = dev_get_uclass_priv(dev);
+ const struct dm_cros_ec_ops *ops;
struct ec_params_hello req;
-
- struct dm_cros_ec_ops *ops;
int ret;
ops = dm_cros_ec_get_ops(dev);
@@ -1638,7 +1637,7 @@ int cros_ec_vstore_write(struct udevice *dev, int slot, const uint8_t *data,
int cros_ec_get_switches(struct udevice *dev)
{
- struct dm_cros_ec_ops *ops;
+ const struct dm_cros_ec_ops *ops;
int ret;
ops = dm_cros_ec_get_ops(dev);
diff --git a/include/cros_ec.h b/include/cros_ec.h
index 4ef34815e35..6e5153ceb6a 100644
--- a/include/cros_ec.h
+++ b/include/cros_ec.h
@@ -12,6 +12,7 @@
#include <ec_commands.h>
#include <cros_ec_message.h>
#include <asm/gpio.h>
+#include <dm/device.h>
#include <dm/of_extra.h>
/*
@@ -316,8 +317,10 @@ struct dm_cros_ec_ops {
int (*get_switches)(struct udevice *dev);
};
-#define dm_cros_ec_get_ops(dev) \
- ((struct dm_cros_ec_ops *)(dev)->driver->ops)
+static inline const struct dm_cros_ec_ops *dm_cros_ec_get_ops(struct udevice *dev)
+{
+ return (const struct dm_cros_ec_ops *)(dev->driver->ops);
+}
int cros_ec_register(struct udevice *dev);