All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Menzel <paulepanter@users.sourceforge.net>
To: Andy Whitcroft <apw@canonical.com>, Joe Perches <joe@perches.com>
Cc: linux-kernel@vger.kernel.org, coreboot@coreboot.org
Subject: checkpatch: Question regarding asmlinkage and storage class
Date: Sat, 18 Mar 2017 13:15:38 +0100	[thread overview]
Message-ID: <1489839338.9183.68.camel@users.sourceforge.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 1710 bytes --]

Dear checkpatch developers,


The coreboot project started using checkpatch.pl, and now some effort
is going into fixing issues pointed out by `checkpatch.pl`.

The file `src/arch/x86/acpi_s3.c` in coreboot contains the code below.

```
   205	void (*acpi_do_wakeup)(uintptr_t vector, u32 backup_source, u32 backup_target,
   206		u32 backup_size) asmlinkage = (void *)WAKEUP_BASE;
```

The warning is

> WARNING: storage class should be at the beginning of the declaration

which raised the question below [2].

> And I am waiting for someone to answer why checkpatch.pl claims
> asmlinkage as a storage-class in the first place.

In coreboot the macro is defined similarly to Linux.

```
#define asmlinkage __attribute__((regparm(0)))
#define alwaysinline inline __attribute__((always_inline))
```

In Linux, commit 9c0ca6f9 (update checkpatch.pl to version 0.10) seems
to have introduced the check. The commit message contains “asmlinkage
is also a storage type”.

Furthermore, `checkpatch.pl` doesn’t seem to warn about the code below.

```
void __attribute__((weak)) mainboard_suspend_resume(void)
```

This raises the question below.

> It appears coreboot proper mostly followed this placement for
> function attributes before. It would be nice if we were consistent,
> specially if checkpatch starts to complaint about these.

Is there another reason, besides not having that implemented?

I am looking forward to your answers.


Kind regards,

Paul


[1] https://review.coreboot.org/#/c/18865/1/src/arch/x86/acpi_s3.c@205
[2] https://review.coreboot.org/18865/
[3] https://review.coreboot.org/#/c/18865/1/src/arch/x86/acpi_s3.c@244

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

             reply	other threads:[~2017-03-18 12:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-18 12:15 Paul Menzel [this message]
2017-03-19  8:31 ` checkpatch: Question regarding asmlinkage and storage class Joe Perches
2017-03-19  9:24   ` [coreboot] " Paul Menzel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1489839338.9183.68.camel@users.sourceforge.net \
    --to=paulepanter@users.sourceforge.net \
    --cc=apw@canonical.com \
    --cc=coreboot@coreboot.org \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.