RE: [PATCH 1/6] 8250/Kconfig: add config option CONFIG_SERIAL_8250_AMD

From: Wang, Annie
Date: Tue Jan 05 2016 - 21:08:30 EST


Hi Boris,

>-----Original Message-----
>From: Borislav Petkov [mailto:bp@xxxxxxxxx]
>Sent: Monday, January 04, 2016 10:41 PM
>To: Wang, Annie
>Cc: Andy Shevchenko; Vinod Koul; Mika Westerberg; Greg Kroah-Hartman; Rafael
>J. Wysocki; linux-acpi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
>serial@xxxxxxxxxxxxxxx; dmaengine@xxxxxxxxxxxxxxx; Huang, Ray; Wan, Vincent;
>Xue, Ken; Robin Murphy; Graeme Gregory; Li, Tony; Yu, Xiangliang
>Subject: Re: [PATCH 1/6] 8250/Kconfig: add config option
>CONFIG_SERIAL_8250_AMD
>
>On Mon, Jan 04, 2016 at 01:31:36PM +0800, Wang Hongcheng wrote:
>> Add config option CONFIG_SERIAL_8250_AMD in use of AMD carrizo.
>> Because carrizo's UART DMA device is an amba device, it selects
>> ARM_AMBA option. Anything uses amba devices must select ARM_AMBA.
>>
>> Signed-off-by: Wang Hongcheng <annie.wang@xxxxxxx>
>> ---
>> drivers/tty/serial/8250/Kconfig | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/tty/serial/8250/Kconfig
>> b/drivers/tty/serial/8250/Kconfig index 6412f14..c9ebc31 100644
>> --- a/drivers/tty/serial/8250/Kconfig
>> +++ b/drivers/tty/serial/8250/Kconfig
>> @@ -378,3 +378,11 @@ config SERIAL_8250_MID
>> Selecting this option will enable handling of the extra features
>> present on the UART found on Intel Medfield SOC and various other
>> Intel platforms.
>> +
>> +config SERIAL_8250_AMD
>> + bool "AMD carrizo serial port support"
>> + depends on SERIAL_8250
>> + select ARM_AMBA
>> + help
>> + If you have a Family 15h, models 0x60-0x6F based board and want to
>> + use the serial port, say Y to this option. If unsure, say N.
>
>Hmm, so you're adding this config option here only to have
>acpi_apd_setup_quirks() defined in an already AMD-specific compilation unit
>drivers/acpi/acpi_apd.c.
>

How about I add select ARM_AMBA and SERIAL_8250 in arch/x86/Kconfig?

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index db3622f..0fe6657 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -537,11 +537,15 @@ config X86_AMD_PLATFORM_DEVICE
depends on ACPI
select COMMON_CLK
select PINCTRL
+ select SERIAL_8250
+ select ARM_AMBA
---help---
Select to interpret AMD specific ACPI device to platform device
such as I2C, UART, GPIO found on AMD Carrizo and later chipsets.
I2C and UART depend on COMMON_CLK to set clock. GPIO driver is
- implemented under PINCTRL subsystem.
+ implemented under PINCTRL subsystem. Carrizo's UART is implemented
+ under SERIAL_8250. Carrizo's UART DMA device is an amba device,
+ it selects ARM_AMBA option.

config IOSF_MBI
tristate "Intel SoC IOSF Sideband support for SoC platforms"
--

>So why not make drivers/acpi/acpi_apd.c depend on CPU_SUP_AMD and this way
>it is automatically enabled on AMD and then check family/model/stepping when
>assigning that
>
>+ .post_setup = acpi_apd_setup_quirks,
>
>thing?
>
>You need it only on F15h, models 0x60.. only so you don't really need the config
>option when you can find out on what hardware you're running without the user
>having to configure the kernel.
>
>Hmmm?

CPU_SUP_AMD is only configured in X86 arch. AMD future ARM64 processors may
also need acpi to platform support.