Re: ramoops: is using platform_drivers correct?

From: Kyungmin Park
Date: Tue May 24 2011 - 02:14:14 EST


On Tue, May 24, 2011 at 2:49 PM, Américo Wang <xiyou.wangcong@xxxxxxxxx> wrote:
> On Tue, May 24, 2011 at 1:32 PM, Kyungmin Park <kmpark@xxxxxxxxxxxxx> wrote:
>> On Mon, May 23, 2011 at 11:36 PM, Kyungmin Park <kmpark@xxxxxxxxxxxxx> wrote:
>>> Hi,
>>>
>>> You have to define the ramoops platform data at your board file and
>>> pass it to the platform device init.
>>> As these address is different for each SoCs. e.g., x86, and Samsung
>>> ARM SoCs and so on.
>>>
>>> I think maybe you use the x86 so define the default x86 ram address
>>> for ramoops and pass it to platform structures.
>
> Why not document this?
>
>>>
>>> At office, I will send the sample usage.
>>
>> +static struct ramoops_platform_data goni_ramoops_data = {
>> +       .mem_size               = SZ_16K,
>> +       .mem_address            = 0xED000000,   /* SRAM */
>> +};
>> +
>> +static struct platform_device goni_ramoops = {
>> +       .name = "ramoops",
>> +       .dev = {
>> +               .platform_data = &goni_ramoops_data,
>> +       },
>> +};
>>
>> and register the goni_rammoops. then you can find a rammops.
>>
>
> Huh? Is this for x86 too? Why so unfriendly for end-users?
I don't know which address is acceptable for x86, in case of ARM, each
SoCs has different SRAM address. so it's not good to define for all
SoCs and ARM.
>
> I think we need some kernel parameter like 'crashkernel=' (or memmap=)
> to reserve memory for ramoops, right?

The first implementation is just module parameters.
ramoops.address=0x??????? ramoops.size=0x????. So I patched it as
using platform devices.
and the reason use the platform is it's dependent on each SoCs and board usage.

>
> Thanks.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/