Re: [PATCH 2/2] Blackfin I2C/TWI driver: add missing pin mux operation

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

 



On 11/2/07, Mike Frysinger <[email protected]> wrote:
> On 10/30/07, Bryan Wu <[email protected]> wrote:
> > --- a/drivers/i2c/busses/i2c-bfin-twi.c
> > +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> > +static int setup_pin_mux(int action, struct bfin_twi_iface *iface)
> > +{
> > +
> > +       u16 pin_req[2][3] = {
> > +               {P_TWI0_SCL, P_TWI0_SDA, 0},
> > +               {P_TWI1_SCL, P_TWI1_SDA, 0},
> > +       };
>
> might be better to have this in the boards file ... consider the
> scenario on the BF54x where the user wants to use I2C0 and not I2C1 or
> vice versa so that they can use the set of pins for something else ...
> this would prevent such a setup
>

Yes, I plan to use new style I2C driver interface as Jean suggested before.
The whole hard coded pin_req list can be passed to the i2c-bfin-twi.c
dynamically.

> > +       if (action) {
> > +               if (peripheral_request_list(pin_req[iface->bus_num], DRV_NAME))
> > +                       return -EFAULT;
> > +       } else {
> > +               peripheral_free_list(pin_req[iface->bus_num]);
> > +       }
> > +
> > +       return 0;
> > +}
>
> EFAULT is incorrect i think ... want to pass back the actual value
> from peripheral_request_list()
>
It will be removed in the new style interface.

> > --- a/drivers/i2c/busses/i2c-bfin-twi.c
> > +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> > +static int setup_pin_mux(int action, struct bfin_twi_iface *iface)
> > +{
> > +
> > +       u16 pin_req[2][3] = {
> > +               {P_TWI0_SCL, P_TWI0_SDA, 0},
> > +               {P_TWI1_SCL, P_TWI1_SDA, 0},
> > +       };
>
> might be better to have this in the boards file ... consider the
> scenario on the BF54x where the user wants to use I2C0 and not I2C1 or
> vice versa so that they can use the set of pins for something else ...
> this would prevent such a setup
>
>        if (action)
>                return peripheral_request_list(pin_req[iface->bus_num],
> DRV_NAME);
>        else
>                peripheral_free_list(pin_req[iface->bus_num]);
>
>        return 0;
> -mike
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux