Skip to content

Commit

Permalink
wl12xx: add wl12xx_spi_reg_read() and wl12xx_spi_reg_write() functions
Browse files Browse the repository at this point in the history
In some cases we need to read more than 32 bits from the register area.
These functions were added to support that, like the existing
wl12xx_spi_mem_read() and wl12xx_spi_mem_write() already do for large blocks
in the memory area.

Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Luciano Coelho authored and John W. Linville committed Jul 10, 2009
1 parent 0628817 commit a336e26
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
18 changes: 18 additions & 0 deletions drivers/net/wireless/wl12xx/spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,24 @@ void wl12xx_spi_mem_write(struct wl12xx *wl, int addr, void *buf,
wl12xx_spi_write(wl, physical, buf, len);
}

void wl12xx_spi_reg_read(struct wl12xx *wl, int addr, void *buf, size_t len)
{
int physical;

physical = wl12xx_translate_reg_addr(wl, addr);

wl12xx_spi_read(wl, physical, buf, len);
}

void wl12xx_spi_reg_write(struct wl12xx *wl, int addr, void *buf, size_t len)
{
int physical;

physical = wl12xx_translate_reg_addr(wl, addr);

wl12xx_spi_write(wl, physical, buf, len);
}

u32 wl12xx_mem_read32(struct wl12xx *wl, int addr)
{
return wl12xx_read32(wl, wl12xx_translate_mem_addr(wl, addr));
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/wireless/wl12xx/spi.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ u32 wl12xx_mem_read32(struct wl12xx *wl, int addr);
void wl12xx_mem_write32(struct wl12xx *wl, int addr, u32 val);

/* Registers IO */
void wl12xx_spi_reg_read(struct wl12xx *wl, int addr, void *buf, size_t len);
void wl12xx_spi_reg_write(struct wl12xx *wl, int addr, void *buf,size_t len);
u32 wl12xx_reg_read32(struct wl12xx *wl, int addr);
void wl12xx_reg_write32(struct wl12xx *wl, int addr, u32 val);

Expand Down

0 comments on commit a336e26

Please sign in to comment.