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

From: Bryan Wu
Date: Thu Nov 01 2007 - 21:48:49 EST


On 11/2/07, Mike Frysinger <vapier.adi@xxxxxxxxx> wrote:
> On 10/30/07, Bryan Wu <bryan.wu@xxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/