summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/mfd/twl6040.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/mfd/twl6040.c')
-rw-r--r--kernel/drivers/mfd/twl6040.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/drivers/mfd/twl6040.c b/kernel/drivers/mfd/twl6040.c
index c5265c126..08a693cd3 100644
--- a/kernel/drivers/mfd/twl6040.c
+++ b/kernel/drivers/mfd/twl6040.c
@@ -86,7 +86,7 @@ static const struct reg_default twl6040_defaults[] = {
{ 0x2E, 0x00 }, /* REG_STATUS (ro) */
};
-static struct reg_default twl6040_patch[] = {
+static struct reg_sequence twl6040_patch[] = {
/*
* Select I2C bus access to dual access registers
* Interrupt register is cleared on read
@@ -647,6 +647,8 @@ static int twl6040_probe(struct i2c_client *client,
twl6040->clk32k = devm_clk_get(&client->dev, "clk32k");
if (IS_ERR(twl6040->clk32k)) {
+ if (PTR_ERR(twl6040->clk32k) == -EPROBE_DEFER)
+ return -EPROBE_DEFER;
dev_info(&client->dev, "clk32k is not handled\n");
twl6040->clk32k = NULL;
}
@@ -801,7 +803,6 @@ MODULE_DEVICE_TABLE(i2c, twl6040_i2c_id);
static struct i2c_driver twl6040_driver = {
.driver = {
.name = "twl6040",
- .owner = THIS_MODULE,
},
.probe = twl6040_probe,
.remove = twl6040_remove,