2019-02-10 13:07:08

by Yifeng Li

[permalink] [raw]
Subject: [PATCH 0/1] mips: loongson64: move EC header to include/asm/mach-loongson64

In order to operate the Embedded Controller from multiple platform
drivers, it should be possible to include lemote-2f/ec_kb3310b.h
from everywhere. This commits move it from lemote-2f/ec_kb3310b.h
to include/asm/mach-loongson64/.

This simple patch immediately enables the implementation of two
platform drivers. if there's no objection from the maintainers,
please consider to prioritize it for mips-next, thanks.

Yifeng Li (1):
mips: loongson64: move EC header to include/asm/mach-loongson64

.../lemote-2f => include/asm/mach-loongson64}/ec_kb3310b.h | 0
arch/mips/loongson64/lemote-2f/ec_kb3310b.c | 2 +-
arch/mips/loongson64/lemote-2f/reset.c | 2 +-
3 files changed, 2 insertions(+), 2 deletions(-)
rename arch/mips/{loongson64/lemote-2f => include/asm/mach-loongson64}/ec_kb3310b.h (100%)

--
2.20.1



2019-02-10 13:10:10

by Yifeng Li

[permalink] [raw]
Subject: [PATCH 1/1] mips: loongson64: move EC header to include/asm/mach-loongson64

In order to operate the Embedded Controller from multiple platform
drivers, it should be possible to include lemote-2f/ec_kb3310b.h
from everywhere. This commits move it from lemote-2f/ec_kb3310b.h
to include/asm/mach-loongson64/.

Signed-off-by: Yifeng Li <[email protected]>
---
.../lemote-2f => include/asm/mach-loongson64}/ec_kb3310b.h | 0
arch/mips/loongson64/lemote-2f/ec_kb3310b.c | 2 +-
arch/mips/loongson64/lemote-2f/reset.c | 2 +-
3 files changed, 2 insertions(+), 2 deletions(-)
rename arch/mips/{loongson64/lemote-2f => include/asm/mach-loongson64}/ec_kb3310b.h (100%)

diff --git a/arch/mips/loongson64/lemote-2f/ec_kb3310b.h b/arch/mips/include/asm/mach-loongson64/ec_kb3310b.h
similarity index 100%
rename from arch/mips/loongson64/lemote-2f/ec_kb3310b.h
rename to arch/mips/include/asm/mach-loongson64/ec_kb3310b.h
diff --git a/arch/mips/loongson64/lemote-2f/ec_kb3310b.c b/arch/mips/loongson64/lemote-2f/ec_kb3310b.c
index 321822997e76..6e416d55b42a 100644
--- a/arch/mips/loongson64/lemote-2f/ec_kb3310b.c
+++ b/arch/mips/loongson64/lemote-2f/ec_kb3310b.c
@@ -15,7 +15,7 @@
#include <linux/spinlock.h>
#include <linux/delay.h>

-#include "ec_kb3310b.h"
+#include <ec_kb3310b.h>

static DEFINE_SPINLOCK(index_access_lock);
static DEFINE_SPINLOCK(port_access_lock);
diff --git a/arch/mips/loongson64/lemote-2f/reset.c b/arch/mips/loongson64/lemote-2f/reset.c
index a26ca7fcd7e0..6c615c7b08d0 100644
--- a/arch/mips/loongson64/lemote-2f/reset.c
+++ b/arch/mips/loongson64/lemote-2f/reset.c
@@ -20,7 +20,7 @@
#include <loongson.h>

#include <cs5536/cs5536.h>
-#include "ec_kb3310b.h"
+#include <ec_kb3310b.h>

static void reset_cpu(void)
{
--
2.20.1


2019-02-10 13:25:27

by Aaro Koskinen

[permalink] [raw]
Subject: Re: [PATCH 0/1] mips: loongson64: move EC header to include/asm/mach-loongson64

Hi,

On Sun, Feb 10, 2019 at 09:06:16PM +0800, Yifeng Li wrote:
> In order to operate the Embedded Controller from multiple platform
> drivers, it should be possible to include lemote-2f/ec_kb3310b.h
> from everywhere. This commits move it from lemote-2f/ec_kb3310b.h
> to include/asm/mach-loongson64/.
>
> This simple patch immediately enables the implementation of two
> platform drivers. if there's no objection from the maintainers,
> please consider to prioritize it for mips-next, thanks.
>
> Yifeng Li (1):
> mips: loongson64: move EC header to include/asm/mach-loongson64

This probably should be MFD driver under drivers/mfd. It's a longer
road, though...

A.

2019-02-14 17:07:33

by Yifeng Li

[permalink] [raw]
Subject: Re: [PATCH 0/1] mips: loongson64: move EC header to include/asm/mach-loongson64

> Hi,
> > Yifeng Li (1):
> > mips: loongson64: move EC header to include/asm/mach-loongson64
>
> This probably should be MFD driver under drivers/mfd. It's a longer
> road, though...
>
> A.

The problem of converting it to a MFD driver, is that there's still
something doesn't fit together.

The core CPU idle code in loongson64/common calls the platform code
in arch/mips/loongson64/lemote-2f to set up an interrupt handler in
i8259, and inspect if the source of interrupt is an lid open event by
querying the ENE KB3310B controller. But normally an MFD driver is
only used to share the underlying hardware between multiple drivers
in each subsystem, not to provide shared utilily functions.

But after reading drivers/mfd for a while, apparently we do have drivers
that "EXPORT_SYMBOL()" to other parts of the kernel. So I think it's
a matter of fact that can be discussed with MFD maintainers.

So yes, I'm converting all the EC code to a MFD driver. I have withdrawn
this patch, do not merge it. The new MFD patch is coming soon.

Thanks,
Tom Li


Attachments:
(No filename) (1.06 kB)
signature.asc (849.00 B)
Download all attachments