Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 186618
b: refs/heads/master
c: f3557cc
h: refs/heads/master
v: v3
  • Loading branch information
Benjamin Adolphi authored and Greg Kroah-Hartman committed Mar 4, 2010
1 parent 4a85f00 commit c3d518e
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 108 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 88e05d854cbbd583d528be9295a74586f920492b
refs/heads/master: f3557cc180b73308048867b591111df6436987ff
132 changes: 64 additions & 68 deletions trunk/drivers/staging/rar/rar_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ static void __exit rar_exit_handler(void);
/*
function that is activated on the successfull probe of the RAR device
*/
static int __devinit rar_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
static int __devinit rar_probe(struct pci_dev *pdev,
const struct pci_device_id *ent);

static struct pci_device_id rar_pci_id_tbl[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4110) },
Expand All @@ -86,9 +87,9 @@ static struct pci_driver rar_pci_driver = {

/* This function is used to retrieved RAR info using the IPC message
bus interface */
static int memrar_get_rar_addr(struct pci_dev* pdev,
int offset,
u32 *addr)
static int memrar_get_rar_addr(struct pci_dev *pdev,
int offset,
u32 *addr)
{
/*
* ======== The Lincroft Message Bus Interface ========
Expand Down Expand Up @@ -140,39 +141,39 @@ static int memrar_get_rar_addr(struct pci_dev* pdev,
| (offset << 8)
| (LNC_MESSAGE_BYTE_WRITE_ENABLES << 4);

printk(KERN_WARNING "rar- offset to LNC MSG is %x\n",offset);
printk(KERN_WARNING "rar- offset to LNC MSG is %x\n", offset);

if (addr == 0)
return -EINVAL;

/* Send the control message */
result = pci_write_config_dword(pdev,
LNC_MCR_OFFSET,
message);
LNC_MCR_OFFSET,
message);

printk(KERN_WARNING "rar- result from send ctl register is %x\n"
,result);
printk(KERN_WARNING "rar- result from send ctl register is %x\n",
result);

if (!result)
result = pci_read_config_dword(pdev,
LNC_MDR_OFFSET,
addr);
LNC_MDR_OFFSET,
addr);

printk(KERN_WARNING "rar- result from read data register is %x\n",
result);
result);

printk(KERN_WARNING "rar- value read from data register is %x\n",
*addr);
*addr);

if (result)
return -1;
else
return 0;
}

static int memrar_set_rar_addr(struct pci_dev* pdev,
int offset,
u32 addr)
static int memrar_set_rar_addr(struct pci_dev *pdev,
int offset,
u32 addr)
{
/*
* ======== The Lincroft Message Bus Interface ========
Expand Down Expand Up @@ -225,29 +226,29 @@ static int memrar_set_rar_addr(struct pci_dev* pdev,
| (offset << 8)
| (LNC_MESSAGE_BYTE_WRITE_ENABLES << 4);

printk(KERN_WARNING "rar- offset to LNC MSG is %x\n",offset);
printk(KERN_WARNING "rar- offset to LNC MSG is %x\n", offset);

if (addr == 0)
return -EINVAL;

/* Send the control message */
result = pci_write_config_dword(pdev,
LNC_MDR_OFFSET,
addr);
LNC_MDR_OFFSET,
addr);

printk(KERN_WARNING "rar- result from send ctl register is %x\n"
,result);
printk(KERN_WARNING "rar- result from send ctl register is %x\n",
result);

if (!result)
result = pci_write_config_dword(pdev,
LNC_MCR_OFFSET,
message);
LNC_MCR_OFFSET,
message);

printk(KERN_WARNING "rar- result from write data register is %x\n",
result);
result);

printk(KERN_WARNING "rar- value read to data register is %x\n",
addr);
addr);

if (result)
return -1;
Expand Down Expand Up @@ -284,35 +285,36 @@ static int memrar_init_rar_params(struct pci_dev *pdev)
/* struct pci_dev *pdev = pci_get_bus_and_slot(0, PCI_DEVFN(0,0)); */

if (pdev == NULL)
return -ENODEV;
return -ENODEV;

for (i = offsets; i != end; ++i, ++n) {
if (memrar_get_rar_addr (pdev,
(*i).low,
&(rar_addr[n].low)) != 0
|| memrar_get_rar_addr (pdev,
(*i).high,
&(rar_addr[n].high)) != 0) {
result = -1;
break;
}
if (memrar_get_rar_addr(pdev,
(*i).low,
&(rar_addr[n].low)) != 0
|| memrar_get_rar_addr(pdev,
(*i).high,
&(rar_addr[n].high)) != 0) {
result = -1;
break;
}
}

/* Done accessing the device. */
/* pci_dev_put(pdev); */

if (result == 0) {
if(1) {
size_t z;
for (z = 0; z != MRST_NUM_RAR; ++z) {
printk(KERN_WARNING "rar - BRAR[%Zd] physical address low\n"
"\tlow: 0x%08x\n"
"\thigh: 0x%08x\n",
z,
rar_addr[z].low,
rar_addr[z].high);
if (1) {
size_t z;
for (z = 0; z != MRST_NUM_RAR; ++z) {
printk(KERN_WARNING
"rar - BRAR[%Zd] physical address low\n"
"\tlow: 0x%08x\n"
"\thigh: 0x%08x\n",
z,
rar_addr[z].low,
rar_addr[z].high);
}
}
}
}

return result;
Expand All @@ -321,7 +323,8 @@ static int memrar_init_rar_params(struct pci_dev *pdev)
/*
function that is activated on the successfull probe of the RAR device
*/
static int __devinit rar_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
static int __devinit rar_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
/* error */
int error;
Expand All @@ -347,7 +350,7 @@ static int __devinit rar_probe(struct pci_dev *pdev, const struct pci_device_id

/* Initialize the RAR parameters, which have to be retrieved */
/* via the message bus service */
error=memrar_init_rar_params(rar_dev);
error = memrar_init_rar_params(rar_dev);

if (error) {
DEBUG_PRINT_0(RAR_DEBUG_LEVEL_EXTENDED,
Expand All @@ -362,8 +365,8 @@ static int __devinit rar_probe(struct pci_dev *pdev, const struct pci_device_id
}

/*
this function registers th driver to
the device subsystem( either PCI, USB, etc)
this function registers the driver to
the device subsystem (either PCI, USB, etc)
*/
static int __init rar_init_handler(void)
{
Expand Down Expand Up @@ -396,25 +399,20 @@ MODULE_LICENSE("GPL");
* The function returns a 0 upon success or a -1 if there is no RAR
* facility on this system.
*/
int get_rar_address(int rar_index,struct RAR_address_struct *addresses)
int get_rar_address(int rar_index, struct RAR_address_struct *addresses)
{
if (registered && (rar_index < 3) && (rar_index >= 0)) {
*addresses=rar_addr[rar_index];
*addresses = rar_addr[rar_index];
/* strip off lock bit information */
addresses->low = addresses->low & 0xfffffff0;
addresses->high = addresses->high & 0xfffffff0;
return 0;
}

else {
} else
return -ENODEV;
}
}


EXPORT_SYMBOL(get_rar_address);

/* The lock_rar function is ued by other device drivers to lock an RAR.
/* The lock_rar function is used by other device drivers to lock an RAR.
* once an RAR is locked, it stays locked until the next system reboot.
* The function takes one parameter:
*
Expand All @@ -429,16 +427,14 @@ int lock_rar(int rar_index)
{
u32 working_addr;
int result;
if (registered && (rar_index < 3) && (rar_index >= 0)) {
/* first make sure that lock bits are clear (this does lock) */
working_addr=rar_addr[rar_index].low & 0xfffffff0;

/* now send that value to the register using the IPC */
result=memrar_set_rar_addr(rar_dev,rar_index,working_addr);
return result;
}
if (registered && (rar_index < 3) && (rar_index >= 0)) {
/* first make sure that lock bits are clear (this does lock) */
working_addr = rar_addr[rar_index].low & 0xfffffff0;

else {
return -ENODEV;
}
/* now send that value to the register using the IPC */
result = memrar_set_rar_addr(rar_dev, rar_index, working_addr);
return result;
} else
return -ENODEV;
}
68 changes: 29 additions & 39 deletions trunk/drivers/staging/rar/rar_driver.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* === RAR Physical Addresses === */
struct RAR_address_struct {
u32 low;
u32 high;
u32 low;
u32 high;
};

/* The get_rar_address function is used by other device drivers
Expand All @@ -19,10 +19,10 @@ struct RAR_address_struct {
* The function returns a 0 upon success or a -1 if there is no RAR
* facility on this system.
*/
int get_rar_address(int rar_index,struct RAR_address_struct *addresses);
int get_rar_address(int rar_index, struct RAR_address_struct *addresses);


/* The lock_rar function is ued by other device drivers to lock an RAR.
/* The lock_rar function is used by other device drivers to lock an RAR.
* once an RAR is locked, it stays locked until the next system reboot.
* The function takes one parameter:
*
Expand All @@ -49,51 +49,41 @@ int lock_rar(int rar_index);

/* debug macro without paramaters */
#define DEBUG_PRINT_0(DEBUG_LEVEL , info) \
do \
{ \
if(DEBUG_LEVEL) \
{ \
printk(KERN_WARNING info); \
} \
}while(0)
do { \
if (DEBUG_LEVEL) { \
printk(KERN_WARNING info); \
} \
} while (0)

/* debug macro with 1 paramater */
#define DEBUG_PRINT_1(DEBUG_LEVEL , info , param1) \
do \
{ \
if(DEBUG_LEVEL) \
{ \
printk(KERN_WARNING info , param1); \
} \
}while(0)
do { \
if (DEBUG_LEVEL) { \
printk(KERN_WARNING info , param1); \
} \
} while (0)

/* debug macro with 2 paramaters */
#define DEBUG_PRINT_2(DEBUG_LEVEL , info , param1, param2) \
do \
{ \
if(DEBUG_LEVEL) \
{ \
printk(KERN_WARNING info , param1, param2); \
} \
}while(0)
do { \
if (DEBUG_LEVEL) { \
printk(KERN_WARNING info , param1, param2); \
} \
} while (0)

/* debug macro with 3 paramaters */
#define DEBUG_PRINT_3(DEBUG_LEVEL , info , param1, param2 , param3) \
do \
{ \
if(DEBUG_LEVEL) \
{ \
printk(KERN_WARNING info , param1, param2 , param3); \
} \
}while(0)
do { \
if (DEBUG_LEVEL) { \
printk(KERN_WARNING info , param1, param2 , param3); \
} \
} while (0)

/* debug macro with 4 paramaters */
#define DEBUG_PRINT_4(DEBUG_LEVEL , info , param1, param2 , param3 , param4) \
do \
{ \
if(DEBUG_LEVEL) \
{ \
printk(KERN_WARNING info , param1, param2 , param3 , param4); \
} \
}while(0)
do { \
if (DEBUG_LEVEL) { \
printk(KERN_WARNING info , param1, param2 , param3 , param4); \
} \
} while (0)

0 comments on commit c3d518e

Please sign in to comment.