On Fri, Sep 27, 2019 at 04:37:35AM +0530, Ravulapati Vishnu vardhan rao wrote:
-#define ACP3x_PHY_BASE_ADDRESS 0x1240000 -#define ACP3x_I2S_MODE 0 -#define ACP3x_REG_START 0x1240000 -#define ACP3x_REG_END 0x1250200 -#define I2S_MODE 0x04 -#define BT_TX_THRESHOLD 26 -#define BT_RX_THRESHOLD 25 -#define ACP3x_POWER_ON 0x00 -#define ACP3x_POWER_ON_IN_PROGRESS 0x01 -#define ACP3x_POWER_OFF 0x02 -#define ACP3x_POWER_OFF_IN_PROGRESS 0x03 +#define ACP3x_DEVS 3 +#define ACP3x_PHY_BASE_ADDRESS 0x1240000 +#define ACP3x_I2S_MODE 0 +#define ACP3x_REG_START 0x1240000 +#define ACP3x_REG_END 0x1250200
A large part of this appears to be unrelated indentation changes, these should be split out into a separate patch.
+static struct device *get_mfd_cell_dev(const char *device_name, int r) +{
- char auto_dev_name[25];
- struct device *dev;
- snprintf(auto_dev_name, sizeof(auto_dev_name),
"%s.%d.auto", device_name, r);
- dev = bus_find_device_by_name(&platform_bus_type,
NULL, auto_dev_name);
- dev_info(dev, "device %s added\n", auto_dev_name);
Remove this log message, it's going to be very noisy.
r = mfd_add_hotplug_devices(adata->parent, adata->cell, 3);
for (i = 0; i < 3 ; i++)
dev = get_mfd_cell_dev(adata->cell[i].name, i);
What is this doing? We never look at the result of this get_mfd_cell_dev() and having a function like this suggests that there's some abstraction issue here.
- kfree(adata->cell); iounmap(adata->acp3x_base);
- /*ignore device status and return driver probe error*/
- return -ENODEV;
release_regions:
This looks broken, as well as discarding error codes (making things harder to diagnose) it means we stop unwinding things and leave the rest of the resources lying around.