Lines Matching refs:softc

149 static int robo_read_reg(robo_spi_t *softc,int reg,uint8_t *buf,int len)
151 cfe_spi_channel_t *chan = softc->spi_channel;
164 static int robo_write_reg(robo_spi_t *softc,int reg,uint8_t *buf,int len)
166 cfe_spi_channel_t *chan = softc->spi_channel;
180 static int robo_fast_rack_poll(robo_spi_t *softc)
182 cfe_spi_channel_t *chan = softc->spi_channel;
204 static int robo_status_poll(robo_spi_t *softc,uint8_t mask,uint8_t val)
211 robo_read_reg(softc,R_ROBOSPI_SPI_STATUS,&status,1);
226 static int robo_select_page(robo_spi_t *softc,int page)
230 if (softc->cur_page == page) {
233 softc->cur_page = page;
236 robo_write_reg(softc,R_ROBOSPI_PAGE,&data,1);
241 static int robo_reset(robo_spi_t *softc)
244 softc->cur_page = -1;
245 robo_select_page(softc,0);
246 softc->cur_page = -1;
270 robo_spi_t *softc;
273 softc = (robo_spi_t *) KMALLOC(sizeof(robo_spi_t),0);
275 if (!softc) return;
283 softc->spi_channel = SPI_CHANNEL((int)probe_a);
284 softc->cur_page = -1;
288 cfe_attach(drv,softc,NULL,descr);
297 * ctx - device context (can obtain our softc here)
306 robo_spi_t *softc = ctx->dev_softc;
308 return softc->spi_channel ? 0 : -1;
317 * ctx - device context (can obtain our softc here)
327 robo_spi_t *softc = ctx->dev_softc;
329 cfe_spi_channel_t *chan = softc->spi_channel;
348 if (robo_status_poll(softc,M_SPISTAT_MDIO_START,0) < 0) {
350 robo_reset(softc);
354 robo_select_page(softc,page);
363 if (robo_fast_rack_poll(softc) < 0) {
366 robo_reset(softc);
378 robo_read_reg(softc,reg,bptr,1);
380 if (robo_status_poll(softc,M_SPISTAT_RACK,M_SPISTAT_RACK) < 0) {
382 robo_reset(softc);
387 robo_read_reg(softc,R_ROBOSPI_SPI_DATA,bptr,blen);
403 * ctx - device context (can obtain our softc here)
413 robo_spi_t *softc = ctx->dev_softc;
434 if (robo_status_poll(softc,M_SPISTAT_MDIO_START,0) < 0) {
436 robo_reset(softc);
440 robo_select_page(softc,page);
442 robo_write_reg(softc,reg,bptr,blen);
453 * ctx - device context (can obtain our softc here)
472 * ctx - device context (can obtain our softc here)