On Thu, Sep 27, 2018 at 11:01:35AM +0200, Lorenzo Bianconi wrote: > Move mt76x02_beacon_offset utility routine in mt76x02-lib module > since it is shared between mt76x0 and mt76x2 driver and remove > duplicated code. Moreover move beacon_offset data structure in > mt76x02-lib module since it is shared between mt76x0 and mt76x2 > drivers > > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@xxxxxxxxxx> <snip> > +const u16 mt76x02_beacon_offsets[16] = { > + /* 1024 byte per beacon */ > + 0xc000, > + 0xc400, > + 0xc800, > + 0xcc00, > + 0xd000, > + 0xd400, > + 0xd800, > + 0xdc00, > + /* BSS idx 8-15 not used for beacons */ > + 0xc000, > + 0xc000, > + 0xc000, > + 0xc000, > + 0xc000, > + 0xc000, > + 0xc000, > + 0xc000, > +}; > +EXPORT_SYMBOL_GPL(mt76x02_beacon_offsets); I don't think this should be added to mt76x02_core.c with interrupt stuff. Interrupts are mmio specific, and beaconing are generic for both buses. Seems mt76x02_util is better place for beaconing. Also maybe to avoid confusion mt76x02_core.c should be named mt76x02_mmio.c and contain only code for PCIe i.e. mt76x0e, mt76x2e. Thanks Stanislaw