On Thu, 2012-11-22 at 14:05 +0200, Eliad Peller wrote: > The scan APIs of 12xx and 18xx are totally different. > Use some common functions as much as possible (e.g. > for setting scan channels), but split scan.c into > chip-specific scan.c files, each implementing its > own scan mechanism. > > (in other words - move most of the current wlcore's > scan.c into wl12xx, and implement a similar mechanism > in 18xx, according to the new api) > > New wlcore ops are introduced in order to call the > chip-specific scan functions. > > The template indices used for each scan (regular/scheduled) > are also different between the chips, so set the correct > indices used for each scan type after identifying the chip. > > Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> > --- [...] > +/* probe request rate */ > +enum > +{ > + WLCORE_SCAN_RATE_1 = 0, > + WLCORE_SCAN_RATE_5_5 = 1, > + WLCORE_SCAN_RATE_6 = 2, > +}; WL18XX_SCAN_RATE_* instead? > + > +struct wl1271_cmd_scan_params { wl18xx_cmd_scan_params is better. [...] > +struct wl12xx_cmd_scan_stop { wl18xx_cmd_scan_stop instead? [...] > diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c > index ff9437a..77479cb 100644 > --- a/drivers/net/wireless/ti/wlcore/main.c > +++ b/drivers/net/wireless/ti/wlcore/main.c [...] > @@ -3820,10 +3817,8 @@ static int wlcore_set_bssid(struct wl1271 *wl, struct wl12xx_vif *wlvif, > wlvif->band); > > /* we only support sched_scan while not connected */ > - if (wl->sched_scanning) { > - wl1271_scan_sched_scan_stop(wl, wlvif); > - ieee80211_sched_scan_stopped(wl->hw); > - } > + if (wl->sched_scanning) > + wl->ops->sched_scan_stop(wl, wlvif); What happened with the ieee80211_sched_scan_stopped()? -- Luca. -- 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