lkml.org 
[lkml]   [2008]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 1/1] avr32: added mem kernel command line option support
From: Marco Stornelli <marco.stornelli@gmail.com>

Fixed the type of size and start, now they are resource_size_t.
Fixed the double pointer parameter, now it's only a single pointer.
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
---
--- linux-2.6.26.5/arch/avr32/kernel/setup.c.orig 2008-09-15 11:30:00.000000000 +0200

+++ linux-2.6.26.5/arch/avr32/kernel/setup.c 2008-09-15
11:30:17.000000000 +0200
@@ -283,6 +283,25 @@ static int __init early_parse_fbmem(char
}
early_param("fbmem", early_parse_fbmem);

+/*
+ * Pick out the memory size. We look for mem=size@start,
+ * where start and size are "size[KkMmGg]"
+ */
+static int __init early_mem(char *p)
+{
+ resource_size_t size, start;
+
+ start = system_ram->start;
+ size = memparse(p, &p);
+ if (**p == '@')
+ start = memparse(p + 1, &p);
+
+ system_ram->start = start;
+ system_ram->end = system_ram->start + size - 1;
+ return 0;
+}
+early_param("mem", early_mem);
+
static int __init parse_tag_core(struct tag *tag)
{
if (tag->hdr.size > 2) {

Randy Dunlap ha scritto:
> On Mon, 15 Sep 2008 16:57:10 +0200 Marco Stornelli wrote:
>
>
>> If you see the above function early_parse_fbmem:
>>
>> static int __init early_parse_fbmem(char *p)
>> {
>> int ret;
>> unsigned long align;
>>
>> fbmem_size = memparse(p, &p);
>> .........
>>
>> where fbmem_size is a resource_size_t (u32 because avr32 is a 32-bit
>> architecture), so I used the same philosophy. Maybe I can remove
>> unsigned long and replace it with resource_size_t to be more uniform.
>>
>
> Yes, I think that would be better.
>
> Thanks.
>
>
>> Randy Dunlap ha scritto:
>>
>>> On Mon, 15 Sep 2008 12:07:19 +0200 Marco Stornelli wrote:
>>>
>>>
>>>
>>>> From: Marco Stornelli <marco.stornelli@gmail.com>
>>>>
>>>> Added support for the mem kernel command line option
>>>> Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
>>>> ---
>>>> --- setup.c.orig 2008-09-15 11:30:00.000000000 +0200
>>>> +++ setup.c 2008-09-15 11:30:17.000000000 +0200
>>>> @@ -283,6 +283,25 @@ static int __init early_parse_fbmem(char
>>>> }
>>>> early_param("fbmem", early_parse_fbmem);
>>>>
>>>> +/*
>>>> + * Pick out the memory size. We look for mem=size@start,
>>>> + * where start and size are "size[KkMm]"
>>>>
>>>>
>>> [KkMmGg]
>>>
>>>
>>>
>>>> + */
>>>> +static int __init early_mem(char **p)
>>>> +{
>>>> + unsigned long size, start;
>>>> +
>>>> + start = system_ram->start;
>>>> + size = memparse(*p, p);
>>>>
>>>>
>>> memparse() returns an unsigned long long. Is the truncation OK for avr32?
>>>
>>>
>>>
>>>> + if (**p == '@')
>>>> + start = memparse(*p + 1, p);
>>>> +
>>>> + system_ram->start = start;
>>>> + system_ram->end = system_ram->start + size - 1;
>>>> + return 0;
>>>> +}
>>>> +early_param("mem", early_mem);
>>>> +
>>>> static int __init parse_tag_core(struct tag *tag)
>>>> {
>>>> if (tag->hdr.size > 2) {
>>>> --
>>>>
>
>
> ---
> ~Randy
> Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
> http://linuxplumbersconf.org/
>
>

--
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

marco.stornelli@coritel.it
+39 06 72582838


\
 
 \ /
  Last update: 2008-09-15 17:31    [W:0.052 / U:0.512 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site