On 2021-06-21 16:14, MeiChia Chiu wrote: > From: MeiChia Chiu <meichia.chiu@xxxxxxxxxxxx> > > Initialize brightness_set and blink_set callbacks to enable LED support. > > Signed-off-by: MeiChia Chiu <meichia.chiu@xxxxxxxxxxxx> > Signed-off-by: Ryder Lee <ryder.lee@xxxxxxxxxxxx> > Signed-off-by: Money Wang <money.wang@xxxxxxxxxxxx> > --- > .../net/wireless/mediatek/mt76/mt7915/init.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ > .../net/wireless/mediatek/mt76/mt7915/mmio.c | 6 +++-- > .../net/wireless/mediatek/mt76/mt7915/regs.h | 19 ++++++++++++++ > 3 files changed, 92 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c b/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c > index af712a9..43f9245 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c > +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c > @@ -92,10 +92,12 @@ static u32 __mt7915_reg_addr(struct mt7915_dev *dev, u32 addr) > } > > if ((addr >= 0x18000000 && addr < 0x18c00000) || > - (addr >= 0x70000000 && addr < 0x78000000) || > - (addr >= 0x7c000000 && addr < 0x7c400000)) > + (addr >= 0x70000000 && addr < 0x78000000)) > return mt7915_reg_map_l1(dev, addr); > > + if (addr >= 0x7c000000 && addr < 0x7c400000) > + return mt7915_reg_map_l1(dev, addr - 0x64000000); This part doesn't make any sense to me. So you're defining registers in the 0x7c000000 range, but subtracting 0x64000000 from the address, which means we land at 0x18000000, which is already covered by the l1-mapped ranges. Why not just skip this weird magic trick and define the registers as being in the 0x18000000 range? - Felix