OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 38... | Line 38... | |||
38 | size_t cal_len) |
38 | size_t cal_len) |
|
39 | { |
39 | { |
|
40 | void __iomem *mem; |
40 | void __iomem *mem; |
|
41 | const void *cal_end = (void *)cal_data + cal_len; |
41 | const void *cal_end = (void *)cal_data + cal_len; |
|
42 | const struct { |
42 | const struct { |
|
43 | u16 reg; |
43 | __be16 reg; |
|
44 | u16 low_val; |
44 | __be16 low_val; |
|
45 | u16 high_val; |
45 | __be16 high_val; |
|
46 | } __packed *data; |
46 | } __packed *data; |
|
47 | u16 cmd; |
47 | u16 cmd; |
|
48 | u32 bar0; |
48 | u32 bar0; |
|
49 | bool swap_needed = false; |
49 | bool swap_needed = false; |
|
Line 73... | Line 73... | |||
73 | cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY; |
73 | cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY; |
|
74 | pci_write_config_word(pdev, PCI_COMMAND, cmd); |
74 | pci_write_config_word(pdev, PCI_COMMAND, cmd); |
|
Line 75... | Line 75... | |||
75 | |
75 | |
|
76 | /* set pointer to first reg address */ |
76 | /* set pointer to first reg address */ |
|
77 | for (data = (const void *) (cal_data + 3); |
77 | for (data = (const void *) (cal_data + 3); |
|
78 | (const void *) data <= cal_end && data->reg != ~0; |
78 | (const void *) data <= cal_end && data->reg != cpu_to_be16(~0); |
|
79 | data++) { |
79 | data++) { |
|
80 | u32 val; |
80 | u32 val; |
|
Line 81... | Line 81... | |||
81 | u16 reg; |
81 | u16 reg; |
|
82 | |
82 | |
|
83 | reg = data->reg; |
83 | reg = data->reg; |
|
Line 84... | Line 84... | |||
84 | val = data->low_val; |
84 | val = data->low_val; |
|
85 | val |= ((u32)data->high_val) << 16; |
85 | val |= data->high_val << 16; |
|
86 | |
86 | |
|
87 | if (swap_needed) { |
87 | if (swap_needed) { |