Ð ÐÑÐ, 09/02/2011 Ð 22:01 +0100, RafaÅ MiÅecki ÐÐÑÐÑ: > W dniu 9 lutego 2011 21:35 uÅytkownik RafaÅ MiÅecki <zajec5@xxxxxxxxx> napisaÅ: > > 2011/2/9 George Kashperko <george@xxxxxxxxxxx>: > >> From: George Kashperko <george@xxxxxxxxxxx> > >> > >> Introduce handlers for SB core control and state flags' management. SB-style > >> buses provide access to these flags at two high octets of TMSLOW and TMSHIGH > >> registers whereas AI-ones implement these flags in two low octets of IOCTRL > >> and IOSTAT registers. > >> Signed-off-by: George Kashperko <george@xxxxxxxxxxx> > >> --- > >> drivers/ssb/main.c | 36 ++++++++++++++++++++++++++++++++++++ > >> include/linux/ssb/ssb.h | 14 +++++++++++++- > >> 2 files changed, 49 insertions(+), 1 deletion(-) > >> --- linux-next-20110203.orig/drivers/ssb/main.c 2011-02-07 16:58:50.000000000 +0200 > >> +++ linux-next-20110203/drivers/ssb/main.c 2011-02-07 17:07:11.000000000 +0200 > >> @@ -1350,6 +1350,40 @@ static u32 ssb_admatch_size_sb(struct ss > >> return size; > >> } > >> > >> +static void ssb_core_ctl_flags_sb(struct ssb_device *dev, u32 mask, > >> + u32 val, u32 *res) > >> +{ > >> + u32 tmp; > >> + > >> + if (mask || val) { > >> + tmp = (ssb_read32(dev, SSB_TMSLOW) & ~mask) | val; > >> + ssb_write32(dev, SSB_TMSLOW, tmp); > >> + } > > > > Are you going to use that function for just reading SSB_TMSLOW? Why > > won't you use separated function then? Do you need separated function > > for sth so simple as "ssb_read32(dev, SSB_TMSLOW);" at all? > > In b43 we used to implement mask other way: > > void b43_radio_maskset(struct b43_wldev *dev, u16 offset, u16 mask, u16 set) > { > b43_radio_write16(dev, offset, > (b43_radio_read16(dev, offset) & mask) | set); > } > > I don't vote for any option, but I think we should one method everywhere. > (mask vs. ~mask) > No doubt. Think this one should be changed. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html