Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: kempld-core: Add support for additional devices

This update includes DMI IDs for the following Kontron modules and
systems:
COMe-bDV7, COMe-cDV7, COMe-m4AL, COMe-mCT10, SMARC-sXAL, SMARC-sXA4,
Qseven-Q7AL, mITX-APL, pITX-APL and KBox A-203

Furthermore the ACPI HID KEM0000 is added, as it is also reserved for
kempld devices.

Instead of also adding the newly supported devices to the Kconfig
description this patch removes the lengthy list. With future usage of
the ACPI HIDs it will not be necessary to explicitly add support for
each individual device to the driver and therefore the list would
become incomplete anyway.

Signed-off-by: Michael Brunner <michael.brunner@kontron.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Michael Brunner and committed by
Lee Jones
0cd3aa99 431ec7bd

+77 -29
+3 -27
drivers/mfd/Kconfig
··· 730 730 select MFD_CORE 731 731 help 732 732 This is the core driver for the PLD (Programmable Logic Device) found 733 - on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD 734 - device may provide functions like watchdog, GPIO, UART and I2C bus. 735 - 736 - The following modules are supported: 737 - * COMe-bBD# 738 - * COMe-bBL6 739 - * COMe-bHL6 740 - * COMe-bSL6 741 - * COMe-bIP# 742 - * COMe-bKL6 743 - * COMe-bPC2 (ETXexpress-PC) 744 - * COMe-bSC# (ETXexpress-SC T#) 745 - * COMe-cAL6 746 - * COMe-cBL6 747 - * COMe-cBT6 748 - * COMe-cBW6 749 - * COMe-cCT6 750 - * COMe-cDC2 (microETXexpress-DC) 751 - * COMe-cHL6 752 - * COMe-cKL6 753 - * COMe-cPC2 (microETXexpress-PC) 754 - * COMe-cSL6 755 - * COMe-mAL10 756 - * COMe-mBT10 757 - * COMe-mCT10 758 - * COMe-mTT10 (nanoETXexpress-TT) 759 - * ETX-OH 733 + on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as 734 + well as on some other Kontron products. The PLD device may provide 735 + functions like watchdog, GPIO, UART and I2C bus. 760 736 761 737 This driver can also be built as a module. If so, the module 762 738 will be called kempld-core.
+74 -2
drivers/mfd/kempld-core.c
··· 552 552 553 553 #ifdef CONFIG_ACPI 554 554 static const struct acpi_device_id kempld_acpi_table[] = { 555 + { "KEM0000", (kernel_ulong_t)&kempld_platform_data_generic }, 555 556 { "KEM0001", (kernel_ulong_t)&kempld_platform_data_generic }, 556 557 {} 557 558 }; ··· 582 581 .matches = { 583 582 DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 584 583 DMI_MATCH(DMI_BOARD_NAME, "COMe-bBL6"), 584 + }, 585 + .driver_data = (void *)&kempld_platform_data_generic, 586 + .callback = kempld_create_platform_device, 587 + }, { 588 + .ident = "BDV7", 589 + .matches = { 590 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 591 + DMI_MATCH(DMI_BOARD_NAME, "COMe-bDV7"), 585 592 }, 586 593 .driver_data = (void *)&kempld_platform_data_generic, 587 594 .callback = kempld_create_platform_device, ··· 654 645 .matches = { 655 646 DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 656 647 DMI_MATCH(DMI_BOARD_NAME, "COMe-bIP6"), 648 + }, 649 + .driver_data = (void *)&kempld_platform_data_generic, 650 + .callback = kempld_create_platform_device, 651 + }, { 652 + .ident = "CDV7", 653 + .matches = { 654 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 655 + DMI_MATCH(DMI_BOARD_NAME, "COMe-cDV7"), 657 656 }, 658 657 .driver_data = (void *)&kempld_platform_data_generic, 659 658 .callback = kempld_create_platform_device, ··· 785 768 .driver_data = (void *)&kempld_platform_data_generic, 786 769 .callback = kempld_create_platform_device, 787 770 }, { 771 + .ident = "A203", 772 + .matches = { 773 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 774 + DMI_MATCH(DMI_BOARD_NAME, "KBox A-203"), 775 + }, 776 + .driver_data = (void *)&kempld_platform_data_generic, 777 + .callback = kempld_create_platform_device, 778 + }, { 779 + .ident = "M4A1", 780 + .matches = { 781 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 782 + DMI_MATCH(DMI_BOARD_NAME, "COMe-m4AL"), 783 + }, 784 + .driver_data = (void *)&kempld_platform_data_generic, 785 + .callback = kempld_create_platform_device, 786 + }, { 788 787 .ident = "MAL1", 789 788 .matches = { 790 789 DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 791 790 DMI_MATCH(DMI_BOARD_NAME, "COMe-mAL10"), 791 + }, 792 + .driver_data = (void *)&kempld_platform_data_generic, 793 + .callback = kempld_create_platform_device, 794 + }, { 795 + .ident = "MAPL", 796 + .matches = { 797 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 798 + DMI_MATCH(DMI_BOARD_NAME, "mITX-APL"), 792 799 }, 793 800 .driver_data = (void *)&kempld_platform_data_generic, 794 801 .callback = kempld_create_platform_device, ··· 865 824 .driver_data = (void *)&kempld_platform_data_generic, 866 825 .callback = kempld_create_platform_device, 867 826 }, { 827 + .ident = "PAPL", 828 + .matches = { 829 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 830 + DMI_MATCH(DMI_BOARD_NAME, "pITX-APL"), 831 + }, 832 + .driver_data = (void *)&kempld_platform_data_generic, 833 + .callback = kempld_create_platform_device, 834 + }, { 835 + .ident = "SXAL", 836 + .matches = { 837 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 838 + DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXAL"), 839 + }, 840 + .driver_data = (void *)&kempld_platform_data_generic, 841 + .callback = kempld_create_platform_device, 842 + }, { 843 + .ident = "SXAL4", 844 + .matches = { 845 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 846 + DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXA4"), 847 + }, 848 + .driver_data = (void *)&kempld_platform_data_generic, 849 + .callback = kempld_create_platform_device, 850 + }, { 868 851 .ident = "UNP1", 869 852 .matches = { 870 853 DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), ··· 928 863 }, 929 864 .driver_data = (void *)&kempld_platform_data_generic, 930 865 .callback = kempld_create_platform_device, 931 - }, 932 - { 866 + }, { 933 867 .ident = "UTH6", 934 868 .matches = { 935 869 DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 936 870 DMI_MATCH(DMI_BOARD_NAME, "COMe-cTH6"), 871 + }, 872 + .driver_data = (void *)&kempld_platform_data_generic, 873 + .callback = kempld_create_platform_device, 874 + }, { 875 + .ident = "Q7AL", 876 + .matches = { 877 + DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"), 878 + DMI_MATCH(DMI_BOARD_NAME, "Qseven-Q7AL"), 937 879 }, 938 880 .driver_data = (void *)&kempld_platform_data_generic, 939 881 .callback = kempld_create_platform_device,