-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This adds template code for the LP-PHY. No actual functionality is implemented. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
- Loading branch information
Michael Buesch
authored and
John W. Linville
committed
Sep 5, 2008
1 parent
3d0da75
commit e63e436
Showing
6 changed files
with
176 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
/* | ||
Broadcom B43 wireless driver | ||
IEEE 802.11g LP-PHY driver | ||
Copyright (c) 2008 Michael Buesch <mb@bu3sch.de> | ||
This program is free software; you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation; either version 2 of the License, or | ||
(at your option) any later version. | ||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with this program; see the file COPYING. If not, write to | ||
the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, | ||
Boston, MA 02110-1301, USA. | ||
*/ | ||
|
||
#include "b43.h" | ||
#include "phy_lp.h" | ||
#include "phy_common.h" | ||
|
||
|
||
static int b43_lpphy_op_allocate(struct b43_wldev *dev) | ||
{ | ||
struct b43_phy_lp *lpphy; | ||
|
||
lpphy = kzalloc(sizeof(*lpphy), GFP_KERNEL); | ||
if (!lpphy) | ||
return -ENOMEM; | ||
dev->phy.lp = lpphy; | ||
|
||
//TODO | ||
|
||
return 0; | ||
} | ||
|
||
static int b43_lpphy_op_init(struct b43_wldev *dev) | ||
{ | ||
struct b43_phy_lp *lpphy = dev->phy.lp; | ||
|
||
//TODO | ||
lpphy->initialised = 1; | ||
|
||
return 0; | ||
} | ||
|
||
static void b43_lpphy_op_exit(struct b43_wldev *dev) | ||
{ | ||
struct b43_phy_lp *lpphy = dev->phy.lp; | ||
|
||
if (lpphy->initialised) { | ||
//TODO | ||
lpphy->initialised = 0; | ||
} | ||
|
||
kfree(lpphy); | ||
dev->phy.lp = NULL; | ||
} | ||
|
||
static u16 b43_lpphy_op_read(struct b43_wldev *dev, u16 reg) | ||
{ | ||
//TODO | ||
return 0; | ||
} | ||
|
||
static void b43_lpphy_op_write(struct b43_wldev *dev, u16 reg, u16 value) | ||
{ | ||
//TODO | ||
} | ||
|
||
static u16 b43_lpphy_op_radio_read(struct b43_wldev *dev, u16 reg) | ||
{ | ||
//TODO | ||
return 0; | ||
} | ||
|
||
static void b43_lpphy_op_radio_write(struct b43_wldev *dev, u16 reg, u16 value) | ||
{ | ||
/* Register 1 is a 32-bit register. */ | ||
B43_WARN_ON(reg == 1); | ||
|
||
//TODO | ||
} | ||
|
||
static void b43_lpphy_op_software_rfkill(struct b43_wldev *dev, | ||
enum rfkill_state state) | ||
{ | ||
//TODO | ||
} | ||
|
||
static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, | ||
unsigned int new_channel) | ||
{ | ||
//TODO | ||
return 0; | ||
} | ||
|
||
static unsigned int b43_lpphy_op_get_default_chan(struct b43_wldev *dev) | ||
{ | ||
return 1; /* Default to channel 1 */ | ||
} | ||
|
||
static void b43_lpphy_op_set_rx_antenna(struct b43_wldev *dev, int antenna) | ||
{ | ||
//TODO | ||
} | ||
|
||
static void b43_lpphy_op_adjust_txpower(struct b43_wldev *dev) | ||
{ | ||
//TODO | ||
} | ||
|
||
static enum b43_txpwr_result b43_lpphy_op_recalc_txpower(struct b43_wldev *dev, | ||
bool ignore_tssi) | ||
{ | ||
//TODO | ||
return B43_TXPWR_RES_DONE; | ||
} | ||
|
||
|
||
const struct b43_phy_operations b43_phyops_lp = { | ||
.allocate = b43_lpphy_op_allocate, | ||
.init = b43_lpphy_op_init, | ||
.exit = b43_lpphy_op_exit, | ||
.phy_read = b43_lpphy_op_read, | ||
.phy_write = b43_lpphy_op_write, | ||
.radio_read = b43_lpphy_op_radio_read, | ||
.radio_write = b43_lpphy_op_radio_write, | ||
.software_rfkill = b43_lpphy_op_software_rfkill, | ||
.switch_channel = b43_lpphy_op_switch_channel, | ||
.get_default_chan = b43_lpphy_op_get_default_chan, | ||
.set_rx_antenna = b43_lpphy_op_set_rx_antenna, | ||
.recalc_txpower = b43_lpphy_op_recalc_txpower, | ||
.adjust_txpower = b43_lpphy_op_adjust_txpower, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#ifndef LINUX_B43_PHY_LP_H_ | ||
#define LINUX_B43_PHY_LP_H_ | ||
|
||
/* Definitions for the LP-PHY */ | ||
|
||
struct b43_phy_lp { | ||
bool initialised; | ||
}; | ||
|
||
|
||
struct b43_phy_operations; | ||
extern const struct b43_phy_operations b43_phyops_lp; | ||
|
||
#endif /* LINUX_B43_PHY_LP_H_ */ |