[Cbe-oss-dev] [PATCH 07/15] ps3flash: Refuse to work in lpars other than OtherOS

Andre Heider a.heider at gmail.com
Fri Aug 5 02:40:36 EST 2011


On Thu, Aug 4, 2011 at 12:34 AM, Geoff Levand <geoff at infradead.org> wrote:
> On 08/01/2011 01:02 PM, Andre Heider wrote:
>> The driver implements a character and misc device, meant for the
>> axed OtherOS to exchange various settings with GameOS.
>> Since Firmware 3.21 there is no GameOS support anymore to write these
>> settings, so limit the driver to the OtherOS environment.
>
> This is really a test if running on the PS3 OtherOS, so this
> comment should state that.

Ok.

>
>>
>> Signed-off-by: Andre Heider <a.heider at gmail.com>
>> ---
>>  arch/powerpc/platforms/ps3/Kconfig |    1 +
>>  drivers/char/ps3flash.c            |    7 +++++++
>>  2 files changed, 8 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig
>> index 84df5c8..5eb956a 100644
>> --- a/arch/powerpc/platforms/ps3/Kconfig
>> +++ b/arch/powerpc/platforms/ps3/Kconfig
>> @@ -121,6 +121,7 @@ config PS3_FLASH
>>
>>         This support is required to access the PS3 FLASH ROM, which
>>         contains the boot loader and some boot options.
>> +       This driver only supports the deprecated OtherOS LPAR.
>
> This will be confusing for OtherOS users, so should be removed.

Ok.

>
>>         In general, all users will say Y or M.
>
>
> This could be changed to: 'In general, all PS3 OtherOS users will say Y or M.'

Yeah, you're right, that's much better

>
>>
>>         As this driver needs a fixed buffer of 256 KiB of memory, it can
>> diff --git a/drivers/char/ps3flash.c b/drivers/char/ps3flash.c
>> index 69c734a..b1e8659 100644
>> --- a/drivers/char/ps3flash.c
>> +++ b/drivers/char/ps3flash.c
>> @@ -25,6 +25,7 @@
>>
>>  #include <asm/lv1call.h>
>>  #include <asm/ps3stor.h>
>> +#include <asm/firmware.h>
>>
>>
>>  #define DEVICE_NAME          "ps3flash"
>> @@ -455,6 +456,12 @@ static struct ps3_system_bus_driver ps3flash = {
>>
>>  static int __init ps3flash_init(void)
>>  {
>> +     if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
>> +             return -ENODEV;
>
> Is this needed?  Won't this driver only be loaded on PS3 hardware?
>

The same code is in drivers/block/ps3disk.c, I wasn't sure if it is
missing here or redundant there.
Should I remove it here?

>> +
>> +     if (ps3_get_ss_laid() != PS3_SS_LAID_OTHEROS)
>> +             return -ENODEV;
>> +
>>       return ps3_system_bus_driver_register(&ps3flash);
>>  }
>>
>
> -Geoff
>
>


More information about the cbe-oss-dev mailing list