* Balaji T K <[email protected]> [131220 01:49]:
> On Thursday 19 December 2013 10:03 PM, Tony Lindgren wrote:
> >>+static int pbias_regulator_enable(struct regulator_dev *rdev)
> >>+{
> >>+ struct pbias_regulator_data *data = rdev_get_drvdata(rdev);
> >>+ const struct pbias_reg_info *info = data->info;
> >>+ int ret;
> >>+
> >>+ ret = regmap_update_bits(data->syscon, data->pbias_reg,
> >>+ info->enable_mask, info->enable);
> >>+
> >>+ return ret;
> >>+}
> >
> >Do we need need to check the values after enable here? AFAIK setting
> >the PBIAS voltage change can also fail and that's probably why it has
>
> failure due to mismatch in input voltage, should to be avoided and should
> be taken care in s/w by the caller before pbias regulator set voltage/enable.
>
> >also the interrupt available.
> >
>
> But interrupt was never used/tested AFAIK, there is some settling time
> before the generated interrupt status is truely valid, so pbias interrupt is
> not
> reliable.
OK. Do we need the standard regulator property startup-delay-us for the
PBIAS regulator then? Or if it's always fixed, I guess it could be done
in the pbias_regulator_enable()?
> >We probably need also pbias_mmc_omap2430 as that regiter mapping is
> >separate from omap3?
> >
>
> between omap2430 and omap3430, 3460 pbias register address are different,
> other than that enable,enable_mask and vmode are
> one and the same, so re-used "pbias_mmc_omap3" name and struct pbias_reg_info
> pbias_mmc_omap3
> for omap2430 too, save one entry in of_regulator_match!
>
> If separate name is needed for omap2430, I can add one for 2430,
> and reuse the "const struct pbias_reg_info pbias_mmc_omap3" of omap3
> since the bit map for enable/disable and voltage configuration will be same.
> Then pbias_matches will look like.
If they truly are compatible, then usually the earliest revision name is
used. So I guess we should use the omap2430 naming instead of omap3 naming.
> >> +static struct of_regulator_match pbias_matches[] = {
> >> + { .name = "pbias_mmc_omap2430", .driver_data = (void
> >> *)&pbias_mmc_omap3},
> >> + { .name = "pbias_mmc_omap3", .driver_data = (void *)&pbias_mmc_omap3},
> >> + { .name = "pbias_sim_omap3", .driver_data = (void *)&pbias_sim_omap3},
> >> + { .name = "pbias_mmc_omap4", .driver_data = (void *)&pbias_mmc_omap4},
> >> + { .name = "pbias_mmc_omap5", .driver_data = (void *)&pbias_mmc_omap5},
> >> +};
>
> Let me know if you still think that separate regulator name is needed for
> 2430,
> I can respin this series.
Sounds like using the omap2430 naming would solve that.
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html