From 5a191002b10ca07d370f9d66688a935edc21af9d Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 17 Jul 2007 04:05:52 -0700 Subject: [PATCH] --- yaml --- r: 60927 b: refs/heads/master c: bce9451310eb66fbbd77bf22e8160079700691f8 h: refs/heads/master i: 60925: e3f114483a2846a2a7f00223e6ea343035be5631 60923: ca8f1dbf1f65dc40f3ce575ed90fd4a541e4b863 60919: a53ec9d533d9ccfcc846a003d2893eb77bf86662 60911: 9036c861a8a8f9b54a0bce47689d332729aee6a3 60895: 32e7402f038e85d6f12a367295b49b70f61be99c 60863: d562a4ff7b617f698eb143f75da844d32bc65e74 60799: e2988f434a25fa87161f6a25a008bcdeed4189b2 60671: e9fa1c9562999d4d8d57aa3588e0a24d44124c80 60415: c418ddf11b6f025e3216a1388bac747f2634bea9 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/cell/spu_base.c | 15 ++++++++++++++- trunk/arch/powerpc/platforms/cell/spu_manage.c | 4 +++- trunk/arch/powerpc/platforms/ps3/spu.c | 6 ++++-- trunk/drivers/video/logo/Kconfig | 1 + 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 01234b59f40f..f539fa5707c0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cca9a6cc580b504a2575d505ab072ebf0872e016 +refs/heads/master: bce9451310eb66fbbd77bf22e8160079700691f8 diff --git a/trunk/arch/powerpc/platforms/cell/spu_base.c b/trunk/arch/powerpc/platforms/cell/spu_base.c index e4d0c9f42abd..96a8f609690c 100644 --- a/trunk/arch/powerpc/platforms/cell/spu_base.c +++ b/trunk/arch/powerpc/platforms/cell/spu_base.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -656,12 +657,24 @@ static int __init init_spu_base(void) ret = spu_enumerate_spus(create_spu); - if (ret) { + if (ret < 0) { printk(KERN_WARNING "%s: Error initializing spus\n", __FUNCTION__); goto out_unregister_sysdev_class; } + if (ret > 0) { + /* + * We cannot put the forward declaration in + * because of conflicting session type + * conflicts for const and __initdata with different compiler + * versions + */ + extern const struct linux_logo logo_spe_clut224; + + fb_append_extra_logo(&logo_spe_clut224, ret); + } + xmon_register_spus(&spu_full_list); spu_add_sysdev_attr(&attr_stat); diff --git a/trunk/arch/powerpc/platforms/cell/spu_manage.c b/trunk/arch/powerpc/platforms/cell/spu_manage.c index 1d4562ae463d..75ed50fcc3db 100644 --- a/trunk/arch/powerpc/platforms/cell/spu_manage.c +++ b/trunk/arch/powerpc/platforms/cell/spu_manage.c @@ -279,6 +279,7 @@ static int __init of_enumerate_spus(int (*fn)(void *data)) { int ret; struct device_node *node; + unsigned int n = 0; ret = -ENODEV; for (node = of_find_node_by_type(NULL, "spe"); @@ -289,8 +290,9 @@ static int __init of_enumerate_spus(int (*fn)(void *data)) __FUNCTION__, node->name); break; } + n++; } - return ret; + return ret ? ret : n; } static int __init of_create_spu(struct spu *spu, void *data) diff --git a/trunk/arch/powerpc/platforms/ps3/spu.c b/trunk/arch/powerpc/platforms/ps3/spu.c index c7f734c89462..502d80ed982b 100644 --- a/trunk/arch/powerpc/platforms/ps3/spu.c +++ b/trunk/arch/powerpc/platforms/ps3/spu.c @@ -405,11 +405,13 @@ static int __init ps3_enumerate_spus(int (*fn)(void *data)) } } - if (result) + if (result) { printk(KERN_WARNING "%s:%d: Error initializing spus\n", __func__, __LINE__); + return result; + } - return result; + return num_resource_id; } const struct spu_management_ops spu_management_ps3_ops = { diff --git a/trunk/drivers/video/logo/Kconfig b/trunk/drivers/video/logo/Kconfig index 5bb78e4807cd..da219c043c99 100644 --- a/trunk/drivers/video/logo/Kconfig +++ b/trunk/drivers/video/logo/Kconfig @@ -13,6 +13,7 @@ if LOGO config FB_LOGO_EXTRA bool depends on FB + default y if SPU_BASE config LOGO_LINUX_MONO bool "Standard black and white Linux logo"