These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / mfd / twl6040.c
index c5265c1..08a693c 100644 (file)
@@ -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,