On Sun, 2015-11-01 at 17:32 +0100, Christian Fetzer wrote:
> The SB800 chipset supports a multiplexed main SMBus controller with
> four ports. Therefore the static variable piix4_main_adapter is
> converted into a piix4_main_adapters array that can hold one
> i2c_adapter for each multiplexed port.
> 
> The auxiliary adapter remains unchanged since it represents the
> second
> (not multiplexed) SMBus controller on the SB800 chipset.


> @@ -675,9 +678,14 @@ static void piix4_adap_remove(struct i2c_adapter
> *adap, int free_smba)
>  
>  static void piix4_remove(struct pci_dev *dev)
>  {
> -     if (piix4_main_adapter) {
> -             piix4_adap_remove(piix4_main_adapter, 1);
> -             piix4_main_adapter = NULL;
> +     int port;
> +
> +     for (port = PIIX4_MAX_ADAPTERS - 1; port >= 0; port--) {
> +             if (piix4_main_adapters[port]) {
> +                     piix4_adap_remove(piix4_main_adapters[port],
> +                                       port == 0);
> +                     piix4_main_adapters[port] = NULL;
> +             }
>       }

Would it be

int port = PIIX4_MAX_ADAPTERS;

while (--port) {
 if (…) {…}
}

?

-- 
Andy Shevchenko <andriy.shevche...@linux.intel.com>
Intel Finland Oy

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

Reply via email to