diff options
author | Geoff Levand <geoff@infradead.org> | 2011-11-29 10:38:50 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-12-07 22:05:54 -0500 |
commit | 816cb49a4baf0e4b27730bcc31e5d35a1eadd283 (patch) | |
tree | 32deb80375a3c91c31e6d708c1328c62aa505772 /arch/powerpc | |
parent | b5ecc5595e4fb2992093b3d2d0e15b4630eb233b (diff) |
powerpc/ps3: Fix hcall lv1_get_version_info
The lv1_get_version_info hcall takes 2, not 1 output
arguments. Adjust the lv1 hcall table and all calls.
Usage:
int lv1_get_version_info(u64 *version_number, u64 *vendor_id)
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/lv1call.h | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/irq.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/ps3/setup.c | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/powerpc/include/asm/lv1call.h b/arch/powerpc/include/asm/lv1call.h index 3ddf66cb5c66..84812211b8db 100644 --- a/arch/powerpc/include/asm/lv1call.h +++ b/arch/powerpc/include/asm/lv1call.h | |||
@@ -276,7 +276,7 @@ LV1_CALL(construct_io_irq_outlet, 1, 1, 120 ) | |||
276 | LV1_CALL(destruct_io_irq_outlet, 1, 0, 121 ) | 276 | LV1_CALL(destruct_io_irq_outlet, 1, 0, 121 ) |
277 | LV1_CALL(map_htab, 1, 1, 122 ) | 277 | LV1_CALL(map_htab, 1, 1, 122 ) |
278 | LV1_CALL(unmap_htab, 1, 0, 123 ) | 278 | LV1_CALL(unmap_htab, 1, 0, 123 ) |
279 | LV1_CALL(get_version_info, 0, 1, 127 ) | 279 | LV1_CALL(get_version_info, 0, 2, 127 ) |
280 | LV1_CALL(insert_htab_entry, 6, 3, 158 ) | 280 | LV1_CALL(insert_htab_entry, 6, 3, 158 ) |
281 | LV1_CALL(read_virtual_uart, 3, 1, 162 ) | 281 | LV1_CALL(read_virtual_uart, 3, 1, 162 ) |
282 | LV1_CALL(write_virtual_uart, 3, 1, 163 ) | 282 | LV1_CALL(write_virtual_uart, 3, 1, 163 ) |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 2ff4f5e59620..701d4aceb4f4 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -186,8 +186,8 @@ notrace void arch_local_irq_restore(unsigned long en) | |||
186 | * Any HV call will have this side effect. | 186 | * Any HV call will have this side effect. |
187 | */ | 187 | */ |
188 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { | 188 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { |
189 | u64 tmp; | 189 | u64 tmp, tmp2; |
190 | lv1_get_version_info(&tmp); | 190 | lv1_get_version_info(&tmp, &tmp2); |
191 | } | 191 | } |
192 | 192 | ||
193 | __hard_irq_enable(); | 193 | __hard_irq_enable(); |
diff --git a/arch/powerpc/platforms/ps3/setup.c b/arch/powerpc/platforms/ps3/setup.c index e8ec1b2bfffd..2d664c5a83b0 100644 --- a/arch/powerpc/platforms/ps3/setup.c +++ b/arch/powerpc/platforms/ps3/setup.c | |||
@@ -193,10 +193,12 @@ static int ps3_set_dabr(unsigned long dabr) | |||
193 | 193 | ||
194 | static void __init ps3_setup_arch(void) | 194 | static void __init ps3_setup_arch(void) |
195 | { | 195 | { |
196 | u64 tmp; | ||
196 | 197 | ||
197 | DBG(" -> %s:%d\n", __func__, __LINE__); | 198 | DBG(" -> %s:%d\n", __func__, __LINE__); |
198 | 199 | ||
199 | lv1_get_version_info(&ps3_firmware_version.raw); | 200 | lv1_get_version_info(&ps3_firmware_version.raw, &tmp); |
201 | |||
200 | printk(KERN_INFO "PS3 firmware version %u.%u.%u\n", | 202 | printk(KERN_INFO "PS3 firmware version %u.%u.%u\n", |
201 | ps3_firmware_version.major, ps3_firmware_version.minor, | 203 | ps3_firmware_version.major, ps3_firmware_version.minor, |
202 | ps3_firmware_version.rev); | 204 | ps3_firmware_version.rev); |