Re: [PATCH v2] ACPI: surface3_power: MSHW0011 rev-eng implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 30-06-17 18:37, Andy Shevchenko wrote:
On Fri, Jun 30, 2017 at 6:57 PM, Benjamin Tissoires

<snip>

+static const struct i2c_device_id mshw0011_id[] = {
+       { }
+};
+MODULE_DEVICE_TABLE(i2c, mshw0011_id);

->probe_new(), please.

Correct


If I2C framework is _still_ broken we need to fix that part.

I haven't check, so let's see for v3.

Cc: Wolfram for v3 and ask him directly. Last time I checked it looks
like I2C core doesn't care about ACPI when ->probe_new() is used.

ACPI i2c drivers still need an empty i2c_device_id table I've
fixing this on my TODO but it has been buried in other stuff.

Benjamin if (not saying you should, but if) you want to take a look at
this, fixing the need for the empty table for ACPI devices should be
easy. The problem is these lines in drivers/i2c/i2c-core.c:
i2c_device_probe():

        /*
         * An I2C ID table is not mandatory, if and only if, a suitable Device
         * Tree match table entry is supplied for the probing device.
         */
        if (!driver->id_table &&
            !i2c_of_match_device(dev->driver->of_match_table, client))
                return -ENODEV;

Which needs to be extended to also check for an ACPI match AFAIK
you can NOT just replace this with i2c_device_match because that would
break manually binding a driver through sysfs.

Regards,

Hans

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux