Re: linux-next: build failure after merge of the tty tree

From: Nicolas Ferre
Date: Tue Sep 11 2018 - 04:32:26 EST


On 11/09/2018 at 10:25, Lee Jones wrote:
On Tue, 11 Sep 2018, Stephen Rothwell wrote:

Hi Greg,

After merging the tty tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

drivers/mfd/at91-usart.c:51:34: error: array type has incomplete element type 'struct of_device_id'
static const struct of_device_id at91_usart_mode_of_match[] = {
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/at91-usart.c:52:4: error: field name not in record or union initializer
{ .compatible = "atmel,at91rm9200-usart" },
^
drivers/mfd/at91-usart.c:52:4: note: (near initialization for 'at91_usart_mode_of_match')
drivers/mfd/at91-usart.c:53:4: error: field name not in record or union initializer
{ .compatible = "atmel,at91sam9260-usart" },
^
drivers/mfd/at91-usart.c:53:4: note: (near initialization for 'at91_usart_mode_of_match')
drivers/mfd/at91-usart.c:51:34: warning: 'at91_usart_mode_of_match' defined but not used [-Wunused-variable]
static const struct of_device_id at91_usart_mode_of_match[] = {
^~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

7d3aa342cef7 ("mfd: at91-usart: Add MFD driver for USART")

Forgot to include <linux/mod_devicetable.h>?

Looks like a missing Device Tree header <linux/of.h>.

Will chase this today and follow up with another PR.

Hi all,

Actually it is due to the missing of <linux/mod_devicetable.h> as Stephen suggested. It is due to the patch ac3167257b9f ("headers: separate linux/mod_devicetable.h from linux/platform_device.h") merged in v4.19-rc1.

because linux/platform_device.h was included by linux/mfd/core.h that is present in this driver. This is why the issue was not identified beforehand.

I'm building a tiny patch to address this right now.

Thanks for your help. Best regards,
--
Nicolas Ferre