Message ID | 20200205190028.183069-13-pmalani@chromium.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | None | expand |
Hi, On Wed, Feb 05, 2020 at 11:00:18AM -0800, Prashant Malani wrote: > Replace cros_usbpd_charger_ec_command() with cros_ec_cmd() which does > the same thing, but is defined in a common location in platform/chrome > and exposed for other modules to use. This allows us to remove > cros_usbpd_charger_ec_command() entirely. > > Signed-off-by: Prashant Malani <pmalani@chromium.org> > --- Acked-by: Sebastian Reichel <sre@kernel.org> -- Sebastian > Changes in v2: > - Updated to use new function name and parameter list. > > drivers/power/supply/cros_usbpd-charger.c | 58 ++++------------------- > 1 file changed, 10 insertions(+), 48 deletions(-) > > diff --git a/drivers/power/supply/cros_usbpd-charger.c b/drivers/power/supply/cros_usbpd-charger.c > index 30c3d37511c9e1..4631d96fda2ca1 100644 > --- a/drivers/power/supply/cros_usbpd-charger.c > +++ b/drivers/power/supply/cros_usbpd-charger.c > @@ -91,46 +91,13 @@ static bool cros_usbpd_charger_port_is_dedicated(struct port_data *port) > return port->port_number >= port->charger->num_usbpd_ports; > } > > -static int cros_usbpd_charger_ec_command(struct charger_data *charger, > - unsigned int version, > - unsigned int command, > - void *outdata, > - unsigned int outsize, > - void *indata, > - unsigned int insize) > -{ > - struct cros_ec_dev *ec_dev = charger->ec_dev; > - struct cros_ec_command *msg; > - int ret; > - > - msg = kzalloc(sizeof(*msg) + max(outsize, insize), GFP_KERNEL); > - if (!msg) > - return -ENOMEM; > - > - msg->version = version; > - msg->command = ec_dev->cmd_offset + command; > - msg->outsize = outsize; > - msg->insize = insize; > - > - if (outsize) > - memcpy(msg->data, outdata, outsize); > - > - ret = cros_ec_cmd_xfer_status(charger->ec_device, msg); > - if (ret >= 0 && insize) > - memcpy(indata, msg->data, insize); > - > - kfree(msg); > - return ret; > -} > - > static int cros_usbpd_charger_get_num_ports(struct charger_data *charger) > { > struct ec_response_charge_port_count resp; > int ret; > > - ret = cros_usbpd_charger_ec_command(charger, 0, > - EC_CMD_CHARGE_PORT_COUNT, > - NULL, 0, &resp, sizeof(resp)); > + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_CHARGE_PORT_COUNT, NULL, > + 0, &resp, sizeof(resp), NULL); > if (ret < 0) > return ret; > > @@ -142,8 +109,8 @@ static int cros_usbpd_charger_get_usbpd_num_ports(struct charger_data *charger) > struct ec_response_usb_pd_ports resp; > int ret; > > - ret = cros_usbpd_charger_ec_command(charger, 0, EC_CMD_USB_PD_PORTS, > - NULL, 0, &resp, sizeof(resp)); > + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_USB_PD_PORTS, NULL, 0, > + &resp, sizeof(resp), NULL); > if (ret < 0) > return ret; > > @@ -159,10 +126,8 @@ static int cros_usbpd_charger_get_discovery_info(struct port_data *port) > > req.port = port->port_number; > > - ret = cros_usbpd_charger_ec_command(charger, 0, > - EC_CMD_USB_PD_DISCOVERY, > - &req, sizeof(req), > - &resp, sizeof(resp)); > + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_USB_PD_DISCOVERY, &req, > + sizeof(req), &resp, sizeof(resp), NULL); > if (ret < 0) { > dev_err(charger->dev, > "Unable to query discovery info (err:0x%x)\n", ret); > @@ -189,10 +154,8 @@ static int cros_usbpd_charger_get_power_info(struct port_data *port) > int ret; > > req.port = port->port_number; > - ret = cros_usbpd_charger_ec_command(charger, 0, > - EC_CMD_USB_PD_POWER_INFO, > - &req, sizeof(req), > - &resp, sizeof(resp)); > + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_USB_PD_POWER_INFO, &req, > + sizeof(req), &resp, sizeof(resp), NULL); > if (ret < 0) { > dev_err(dev, "Unable to query PD power info (err:0x%x)\n", ret); > return ret; > @@ -334,9 +297,8 @@ static int cros_usbpd_charger_set_ext_power_limit(struct charger_data *charger, > req.current_lim = current_lim; > req.voltage_lim = voltage_lim; > > - ret = cros_usbpd_charger_ec_command(charger, 0, > - EC_CMD_EXTERNAL_POWER_LIMIT, > - &req, sizeof(req), NULL, 0); > + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_EXTERNAL_POWER_LIMIT, > + &req, sizeof(req), NULL, 0, NULL); > if (ret < 0) > dev_err(charger->dev, > "Unable to set the 'External Power Limit': %d\n", ret); > -- > 2.25.0.341.g760bfbb309-goog >
diff --git a/drivers/power/supply/cros_usbpd-charger.c b/drivers/power/supply/cros_usbpd-charger.c index 30c3d37511c9e1..4631d96fda2ca1 100644 --- a/drivers/power/supply/cros_usbpd-charger.c +++ b/drivers/power/supply/cros_usbpd-charger.c @@ -91,46 +91,13 @@ static bool cros_usbpd_charger_port_is_dedicated(struct port_data *port) return port->port_number >= port->charger->num_usbpd_ports; } -static int cros_usbpd_charger_ec_command(struct charger_data *charger, - unsigned int version, - unsigned int command, - void *outdata, - unsigned int outsize, - void *indata, - unsigned int insize) -{ - struct cros_ec_dev *ec_dev = charger->ec_dev; - struct cros_ec_command *msg; - int ret; - - msg = kzalloc(sizeof(*msg) + max(outsize, insize), GFP_KERNEL); - if (!msg) - return -ENOMEM; - - msg->version = version; - msg->command = ec_dev->cmd_offset + command; - msg->outsize = outsize; - msg->insize = insize; - - if (outsize) - memcpy(msg->data, outdata, outsize); - - ret = cros_ec_cmd_xfer_status(charger->ec_device, msg); - if (ret >= 0 && insize) - memcpy(indata, msg->data, insize); - - kfree(msg); - return ret; -} - static int cros_usbpd_charger_get_num_ports(struct charger_data *charger) { struct ec_response_charge_port_count resp; int ret; - ret = cros_usbpd_charger_ec_command(charger, 0, - EC_CMD_CHARGE_PORT_COUNT, - NULL, 0, &resp, sizeof(resp)); + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_CHARGE_PORT_COUNT, NULL, + 0, &resp, sizeof(resp), NULL); if (ret < 0) return ret; @@ -142,8 +109,8 @@ static int cros_usbpd_charger_get_usbpd_num_ports(struct charger_data *charger) struct ec_response_usb_pd_ports resp; int ret; - ret = cros_usbpd_charger_ec_command(charger, 0, EC_CMD_USB_PD_PORTS, - NULL, 0, &resp, sizeof(resp)); + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_USB_PD_PORTS, NULL, 0, + &resp, sizeof(resp), NULL); if (ret < 0) return ret; @@ -159,10 +126,8 @@ static int cros_usbpd_charger_get_discovery_info(struct port_data *port) req.port = port->port_number; - ret = cros_usbpd_charger_ec_command(charger, 0, - EC_CMD_USB_PD_DISCOVERY, - &req, sizeof(req), - &resp, sizeof(resp)); + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_USB_PD_DISCOVERY, &req, + sizeof(req), &resp, sizeof(resp), NULL); if (ret < 0) { dev_err(charger->dev, "Unable to query discovery info (err:0x%x)\n", ret); @@ -189,10 +154,8 @@ static int cros_usbpd_charger_get_power_info(struct port_data *port) int ret; req.port = port->port_number; - ret = cros_usbpd_charger_ec_command(charger, 0, - EC_CMD_USB_PD_POWER_INFO, - &req, sizeof(req), - &resp, sizeof(resp)); + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_USB_PD_POWER_INFO, &req, + sizeof(req), &resp, sizeof(resp), NULL); if (ret < 0) { dev_err(dev, "Unable to query PD power info (err:0x%x)\n", ret); return ret; @@ -334,9 +297,8 @@ static int cros_usbpd_charger_set_ext_power_limit(struct charger_data *charger, req.current_lim = current_lim; req.voltage_lim = voltage_lim; - ret = cros_usbpd_charger_ec_command(charger, 0, - EC_CMD_EXTERNAL_POWER_LIMIT, - &req, sizeof(req), NULL, 0); + ret = cros_ec_cmd(charger->ec_device, 0, EC_CMD_EXTERNAL_POWER_LIMIT, + &req, sizeof(req), NULL, 0, NULL); if (ret < 0) dev_err(charger->dev, "Unable to set the 'External Power Limit': %d\n", ret);
Replace cros_usbpd_charger_ec_command() with cros_ec_cmd() which does the same thing, but is defined in a common location in platform/chrome and exposed for other modules to use. This allows us to remove cros_usbpd_charger_ec_command() entirely. Signed-off-by: Prashant Malani <pmalani@chromium.org> --- Changes in v2: - Updated to use new function name and parameter list. drivers/power/supply/cros_usbpd-charger.c | 58 ++++------------------- 1 file changed, 10 insertions(+), 48 deletions(-)