Merge 6.4-rc5 into char-misc-next
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Jun 2023 05:19:18 +0000 (07:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Jun 2023 05:19:18 +0000 (07:19 +0200)
We need the char/misc fixes in here as well for mergeing and testing.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
56 files changed:
Documentation/devicetree/bindings/sram/sram.yaml
Documentation/fault-injection/provoke-crashes.rst
drivers/accessibility/speakup/Kconfig
drivers/accessibility/speakup/main.c
drivers/android/binder.c
drivers/android/binder_internal.h
drivers/char/Kconfig
drivers/comedi/Kconfig
drivers/counter/Kconfig
drivers/firmware/dmi-sysfs.c
drivers/firmware/xilinx/zynqmp-debug.c
drivers/firmware/xilinx/zynqmp-debug.h
drivers/firmware/xilinx/zynqmp.c
drivers/isdn/Kconfig
drivers/isdn/hardware/mISDN/Kconfig
drivers/misc/ad525x_dpot-i2c.c
drivers/misc/altera-stapl/Makefile
drivers/misc/altera-stapl/altera.c
drivers/misc/apds9802als.c
drivers/misc/apds990x.c
drivers/misc/bh1770glc.c
drivers/misc/ds1682.c
drivers/misc/eeprom/at24.c
drivers/misc/eeprom/ee1004.c
drivers/misc/eeprom/eeprom.c
drivers/misc/eeprom/idt_89hpesx.c
drivers/misc/eeprom/max6875.c
drivers/misc/hmc6352.c
drivers/misc/ics932s401.c
drivers/misc/isl29003.c
drivers/misc/isl29020.c
drivers/misc/lis3lv02d/lis3lv02d_i2c.c
drivers/misc/lkdtm/core.c
drivers/misc/mei/bus-fixup.c
drivers/misc/mei/bus.c
drivers/misc/smpro-errmon.c
drivers/misc/sram.c
drivers/misc/tsl2550.c
drivers/misc/uacce/uacce.c
drivers/misc/xilinx_sdfec.c
drivers/mux/Kconfig
drivers/mux/mmio.c
drivers/parport/Kconfig
drivers/pcmcia/Kconfig
drivers/uio/uio_dfl.c
drivers/w1/masters/sgi_w1.c
drivers/w1/slaves/Kconfig
drivers/w1/slaves/w1_ds2438.c
drivers/w1/slaves/w1_therm.c
drivers/w1/w1.c
include/dt-bindings/mux/ti-serdes.h
include/linux/amba/bus.h
include/linux/firmware/xlnx-zynqmp.h
include/linux/parport.h
include/linux/uacce.h
scripts/tags.sh

index 993430b..0922d1f 100644 (file)
@@ -94,6 +94,7 @@ patternProperties:
             - samsung,exynos4210-sysram
             - samsung,exynos4210-sysram-ns
             - socionext,milbeaut-smp-sram
+            - stericsson,u8500-esram
 
       reg:
         description:
index 3abe842..1f087e5 100644 (file)
@@ -29,7 +29,7 @@ recur_count
 cpoint_name
        Where in the kernel to trigger the action. It can be
        one of INT_HARDWARE_ENTRY, INT_HW_IRQ_EN, INT_TASKLET_ENTRY,
-       FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_QUEUE_RQ, or DIRECT.
+       FS_SUBMIT_BH, MEM_SWAPOUT, TIMERADD, SCSI_QUEUE_RQ, or DIRECT.
 
 cpoint_type
        Indicates the action to be taken on hitting the crash point.
index 07ecbbd..e84fb61 100644 (file)
@@ -46,6 +46,7 @@ if SPEAKUP
 config SPEAKUP_SERIALIO
        def_bool y
        depends on ISA || COMPILE_TEST
+       depends on HAS_IOPORT
 
 config SPEAKUP_SYNTH_ACNTSA
        tristate "Accent SA synthesizer support"
index 56c0731..1fbc9b9 100644 (file)
@@ -1287,7 +1287,7 @@ static struct var_t spk_vars[NB_ID] = {
        [PUNC_LEVEL_ID] = { PUNC_LEVEL, .u.n = {NULL, 1, 0, 4, 0, 0, NULL} },
        [READING_PUNC_ID] = { READING_PUNC, .u.n = {NULL, 1, 0, 4, 0, 0, NULL} },
        [CURSOR_TIME_ID] = { CURSOR_TIME, .u.n = {NULL, 120, 50, 600, 0, 0, NULL} },
-       [SAY_CONTROL_ID] { SAY_CONTROL, TOGGLE_0},
+       [SAY_CONTROL_ID] { SAY_CONTROL, TOGGLE_0},
        [SAY_WORD_CTL_ID] = {SAY_WORD_CTL, TOGGLE_0},
        [NO_INTERRUPT_ID] = { NO_INTERRUPT, TOGGLE_0},
        [KEY_ECHO_ID] = { KEY_ECHO, .u.n = {NULL, 1, 0, 2, 0, 0, NULL} },
index 8fb7672..486c827 100644 (file)
@@ -66,6 +66,7 @@
 #include <linux/syscalls.h>
 #include <linux/task_work.h>
 #include <linux/sizes.h>
+#include <linux/ktime.h>
 
 #include <uapi/linux/android/binder.h>
 
@@ -2918,6 +2919,7 @@ static void binder_transaction(struct binder_proc *proc,
        binder_size_t last_fixup_min_off = 0;
        struct binder_context *context = proc->context;
        int t_debug_id = atomic_inc_return(&binder_last_id);
+       ktime_t t_start_time = ktime_get();
        char *secctx = NULL;
        u32 secctx_sz = 0;
        struct list_head sgc_head;
@@ -3159,6 +3161,7 @@ static void binder_transaction(struct binder_proc *proc,
        binder_stats_created(BINDER_STAT_TRANSACTION_COMPLETE);
 
        t->debug_id = t_debug_id;
+       t->start_time = t_start_time;
 
        if (reply)
                binder_debug(BINDER_DEBUG_TRANSACTION,
@@ -3183,6 +3186,8 @@ static void binder_transaction(struct binder_proc *proc,
                t->from = thread;
        else
                t->from = NULL;
+       t->from_pid = proc->pid;
+       t->from_tid = thread->pid;
        t->sender_euid = task_euid(proc->tsk);
        t->to_proc = target_proc;
        t->to_thread = target_thread;
@@ -5944,17 +5949,19 @@ static void print_binder_transaction_ilocked(struct seq_file *m,
 {
        struct binder_proc *to_proc;
        struct binder_buffer *buffer = t->buffer;
+       ktime_t current_time = ktime_get();
 
        spin_lock(&t->lock);
        to_proc = t->to_proc;
        seq_printf(m,
-                  "%s %d: %pK from %d:%d to %d:%d code %x flags %x pri %ld r%d",
+                  "%s %d: %pK from %d:%d to %d:%d code %x flags %x pri %ld r%d elapsed %lldms",
                   prefix, t->debug_id, t,
-                  t->from ? t->from->proc->pid : 0,
-                  t->from ? t->from->pid : 0,
+                  t->from_pid,
+                  t->from_tid,
                   to_proc ? to_proc->pid : 0,
                   t->to_thread ? t->to_thread->pid : 0,
-                  t->code, t->flags, t->priority, t->need_reply);
+                  t->code, t->flags, t->priority, t->need_reply,
+                  ktime_ms_delta(current_time, t->start_time));
        spin_unlock(&t->lock);
 
        if (proc != to_proc) {
index 28ef5b3..7270d4d 100644 (file)
@@ -515,6 +515,8 @@ struct binder_transaction {
        int debug_id;
        struct binder_work work;
        struct binder_thread *from;
+       pid_t from_pid;
+       pid_t from_tid;
        struct binder_transaction *from_parent;
        struct binder_proc *to_proc;
        struct binder_thread *to_thread;
@@ -528,6 +530,7 @@ struct binder_transaction {
        long    priority;
        long    saved_priority;
        kuid_t  sender_euid;
+       ktime_t start_time;
        struct list_head fd_fixups;
        binder_uintptr_t security_ctx;
        /**
index 801d6c8..625af75 100644 (file)
@@ -34,6 +34,7 @@ config TTY_PRINTK_LEVEL
 config PRINTER
        tristate "Parallel printer support"
        depends on PARPORT
+       depends on HAS_IOPORT || PARPORT_NOT_PC
        help
          If you intend to attach a printer to the parallel port of your Linux
          box (as opposed to using a serial printer; if the connector at the
@@ -340,7 +341,7 @@ config NVRAM
 
 config DEVPORT
        bool "/dev/port character device"
-       depends on ISA || PCI
+       depends on HAS_IOPORT
        default y
        help
          Say Y here if you want to support the /dev/port device. The /dev/port
index 9af2807..7a8d402 100644 (file)
@@ -67,6 +67,7 @@ config COMEDI_TEST
 
 config COMEDI_PARPORT
        tristate "Parallel port support"
+       depends on HAS_IOPORT
        help
          Enable support for the standard parallel port.
          A cheap and easy way to get a few more digital I/O lines. Steal
@@ -79,6 +80,7 @@ config COMEDI_PARPORT
 config COMEDI_SSV_DNP
        tristate "SSV Embedded Systems DIL/Net-PC support"
        depends on X86_32 || COMPILE_TEST
+       depends on HAS_IOPORT
        help
          Enable support for SSV Embedded Systems DIL/Net-PC
 
@@ -89,6 +91,7 @@ endif # COMEDI_MISC_DRIVERS
 
 menuconfig COMEDI_ISA_DRIVERS
        bool "Comedi ISA and PC/104 drivers"
+       depends on ISA
        help
          Enable comedi ISA and PC/104 drivers to be built
 
@@ -100,7 +103,8 @@ if COMEDI_ISA_DRIVERS
 
 config COMEDI_PCL711
        tristate "Advantech PCL-711/711b and ADlink ACL-8112 ISA card support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for Advantech PCL-711 and 711b, ADlink ACL-8112
 
@@ -161,8 +165,9 @@ config COMEDI_PCL730
 
 config COMEDI_PCL812
        tristate "Advantech PCL-812/813 and ADlink ACL-8112/8113/8113/8216"
+       depends on HAS_IOPORT
        select COMEDI_ISADMA if ISA_DMA_API
-       select COMEDI_8254
+       depends on COMEDI_8254
        help
          Enable support for Advantech PCL-812/PG, PCL-813/B, ADLink
          ACL-8112DG/HG/PG, ACL-8113, ACL-8216, ICP DAS A-821PGH/PGL/PGL-NDA,
@@ -173,8 +178,9 @@ config COMEDI_PCL812
 
 config COMEDI_PCL816
        tristate "Advantech PCL-814 and PCL-816 ISA card support"
+       depends on HAS_IOPORT
        select COMEDI_ISADMA if ISA_DMA_API
-       select COMEDI_8254
+       depends on COMEDI_8254
        help
          Enable support for Advantech PCL-814 and PCL-816 ISA cards
 
@@ -183,8 +189,9 @@ config COMEDI_PCL816
 
 config COMEDI_PCL818
        tristate "Advantech PCL-718 and PCL-818 ISA card support"
+       depends on HAS_IOPORT
        select COMEDI_ISADMA if ISA_DMA_API
-       select COMEDI_8254
+       depends on COMEDI_8254
        help
          Enable support for Advantech PCL-818 ISA cards
          PCL-818L, PCL-818H, PCL-818HD, PCL-818HG, PCL-818 and PCL-718
@@ -203,7 +210,7 @@ config COMEDI_PCM3724
 
 config COMEDI_AMPLC_DIO200_ISA
        tristate "Amplicon PC212E/PC214E/PC215E/PC218E/PC272E"
-       select COMEDI_AMPLC_DIO200
+       depends on COMEDI_AMPLC_DIO200
        help
          Enable support for Amplicon PC212E, PC214E, PC215E, PC218E and
          PC272E ISA DIO boards
@@ -255,7 +262,8 @@ config COMEDI_DAC02
 
 config COMEDI_DAS16M1
        tristate "MeasurementComputing CIO-DAS16/M1DAS-16 ISA card support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for Measurement Computing CIO-DAS16/M1 ISA cards.
@@ -265,7 +273,7 @@ config COMEDI_DAS16M1
 
 config COMEDI_DAS08_ISA
        tristate "DAS-08 compatible ISA and PC/104 card support"
-       select COMEDI_DAS08
+       depends on COMEDI_DAS08
        help
          Enable support for Keithley Metrabyte/ComputerBoards DAS08
          and compatible ISA and PC/104 cards:
@@ -278,8 +286,9 @@ config COMEDI_DAS08_ISA
 
 config COMEDI_DAS16
        tristate "DAS-16 compatible ISA and PC/104 card support"
+       depends on HAS_IOPORT
        select COMEDI_ISADMA if ISA_DMA_API
-       select COMEDI_8254
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for Keithley Metrabyte/ComputerBoards DAS16
@@ -296,7 +305,8 @@ config COMEDI_DAS16
 
 config COMEDI_DAS800
        tristate "DAS800 and compatible ISA card support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for Keithley Metrabyte DAS800 and compatible ISA cards
          Keithley Metrabyte DAS-800, DAS-801, DAS-802
@@ -308,8 +318,9 @@ config COMEDI_DAS800
 
 config COMEDI_DAS1800
        tristate "DAS1800 and compatible ISA card support"
+       depends on HAS_IOPORT
        select COMEDI_ISADMA if ISA_DMA_API
-       select COMEDI_8254
+       depends on COMEDI_8254
        help
          Enable support for DAS1800 and compatible ISA cards
          Keithley Metrabyte DAS-1701ST, DAS-1701ST-DA, DAS-1701/AO,
@@ -323,7 +334,8 @@ config COMEDI_DAS1800
 
 config COMEDI_DAS6402
        tristate "DAS6402 and compatible ISA card support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for DAS6402 and compatible ISA cards
          Computerboards, Keithley Metrabyte DAS6402 and compatibles
@@ -402,7 +414,8 @@ config COMEDI_FL512
 
 config COMEDI_AIO_AIO12_8
        tristate "I/O Products PC/104 AIO12-8 Analog I/O Board support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for I/O Products PC/104 AIO12-8 Analog I/O Board
@@ -456,8 +469,9 @@ config COMEDI_ADQ12B
 
 config COMEDI_NI_AT_A2150
        tristate "NI AT-A2150 ISA card support"
+       depends on HAS_IOPORT
        select COMEDI_ISADMA if ISA_DMA_API
-       select COMEDI_8254
+       depends on COMEDI_8254
        help
          Enable support for National Instruments AT-A2150 cards
 
@@ -466,7 +480,8 @@ config COMEDI_NI_AT_A2150
 
 config COMEDI_NI_AT_AO
        tristate "NI AT-AO-6/10 EISA card support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for National Instruments AT-AO-6/10 cards
 
@@ -497,7 +512,7 @@ config COMEDI_NI_ATMIO16D
 
 config COMEDI_NI_LABPC_ISA
        tristate "NI Lab-PC and compatibles ISA support"
-       select COMEDI_NI_LABPC
+       depends on COMEDI_NI_LABPC
        help
          Enable support for National Instruments Lab-PC and compatibles
          Lab-PC-1200, Lab-PC-1200AI, Lab-PC+.
@@ -561,7 +576,7 @@ endif # COMEDI_ISA_DRIVERS
 
 menuconfig COMEDI_PCI_DRIVERS
        tristate "Comedi PCI drivers"
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        help
          Enable support for comedi PCI drivers.
 
@@ -710,7 +725,8 @@ config COMEDI_ADL_PCI8164
 
 config COMEDI_ADL_PCI9111
        tristate "ADLink PCI-9111HR support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for ADlink PCI9111 cards
 
@@ -720,7 +736,7 @@ config COMEDI_ADL_PCI9111
 config COMEDI_ADL_PCI9118
        tristate "ADLink PCI-9118DG, PCI-9118HG, PCI-9118HR support"
        depends on HAS_DMA
-       select COMEDI_8254
+       depends on COMEDI_8254
        help
          Enable support for ADlink PCI-9118DG, PCI-9118HG, PCI-9118HR cards
 
@@ -729,7 +745,8 @@ config COMEDI_ADL_PCI9118
 
 config COMEDI_ADV_PCI1710
        tristate "Advantech PCI-171x and PCI-1731 support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for Advantech PCI-1710, PCI-1710HG, PCI-1711,
          PCI-1713 and PCI-1731
@@ -773,7 +790,8 @@ config COMEDI_ADV_PCI1760
 
 config COMEDI_ADV_PCI_DIO
        tristate "Advantech PCI DIO card support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for Advantech PCI DIO cards
@@ -786,7 +804,7 @@ config COMEDI_ADV_PCI_DIO
 
 config COMEDI_AMPLC_DIO200_PCI
        tristate "Amplicon PCI215/PCI272/PCIe215/PCIe236/PCIe296 DIO support"
-       select COMEDI_AMPLC_DIO200
+       depends on COMEDI_AMPLC_DIO200
        help
          Enable support for Amplicon PCI215, PCI272, PCIe215, PCIe236
          and PCIe296 DIO boards.
@@ -814,7 +832,8 @@ config COMEDI_AMPLC_PC263_PCI
 
 config COMEDI_AMPLC_PCI224
        tristate "Amplicon PCI224 and PCI234 support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for Amplicon PCI224 and PCI234 AO boards
 
@@ -823,7 +842,8 @@ config COMEDI_AMPLC_PCI224
 
 config COMEDI_AMPLC_PCI230
        tristate "Amplicon PCI230 and PCI260 support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for Amplicon PCI230 and PCI260 Multifunction I/O
@@ -842,7 +862,7 @@ config COMEDI_CONTEC_PCI_DIO
 
 config COMEDI_DAS08_PCI
        tristate "DAS-08 PCI support"
-       select COMEDI_DAS08
+       depends on COMEDI_DAS08
        help
          Enable support for PCI DAS-08 cards.
 
@@ -929,7 +949,8 @@ config COMEDI_CB_PCIDAS64
 
 config COMEDI_CB_PCIDAS
        tristate "MeasurementComputing PCI-DAS support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for ComputerBoards/MeasurementComputing PCI-DAS with
@@ -953,7 +974,8 @@ config COMEDI_CB_PCIDDA
 
 config COMEDI_CB_PCIMDAS
        tristate "MeasurementComputing PCIM-DAS1602/16, PCIe-DAS1602/16 support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
        help
          Enable support for ComputerBoards/MeasurementComputing PCI Migration
@@ -973,7 +995,8 @@ config COMEDI_CB_PCIMDDA
 
 config COMEDI_ME4000
        tristate "Meilhaus ME-4000 support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for Meilhaus PCI data acquisition cards
          ME-4650, ME-4670i, ME-4680, ME-4680i and ME-4680is
@@ -1031,7 +1054,7 @@ config COMEDI_NI_670X
 
 config COMEDI_NI_LABPC_PCI
        tristate "NI Lab-PC PCI-1200 support"
-       select COMEDI_NI_LABPC
+       depends on COMEDI_NI_LABPC
        help
          Enable support for National Instruments Lab-PC PCI-1200.
 
@@ -1053,6 +1076,7 @@ config COMEDI_NI_PCIDIO
 config COMEDI_NI_PCIMIO
        tristate "NI PCI-MIO-E series and M series support"
        depends on HAS_DMA
+       depends on HAS_IOPORT
        select COMEDI_NI_TIOCMD
        select COMEDI_8255
        help
@@ -1074,7 +1098,8 @@ config COMEDI_NI_PCIMIO
 
 config COMEDI_RTD520
        tristate "Real Time Devices PCI4520/DM7520 support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for Real Time Devices PCI4520/DM7520
 
@@ -1114,7 +1139,8 @@ if COMEDI_PCMCIA_DRIVERS
 
 config COMEDI_CB_DAS16_CS
        tristate "CB DAS16 series PCMCIA support"
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        help
          Enable support for the ComputerBoards/MeasurementComputing PCMCIA
          cards DAS16/16, PCM-DAS16D/12 and PCM-DAS16s/16
@@ -1124,7 +1150,7 @@ config COMEDI_CB_DAS16_CS
 
 config COMEDI_DAS08_CS
        tristate "CB DAS08 PCMCIA support"
-       select COMEDI_DAS08
+       depends on COMEDI_DAS08
        help
          Enable support for the ComputerBoards/MeasurementComputing DAS-08
          PCMCIA card
@@ -1134,6 +1160,7 @@ config COMEDI_DAS08_CS
 
 config COMEDI_NI_DAQ_700_CS
        tristate "NI DAQCard-700 PCMCIA support"
+       depends on HAS_IOPORT
        help
          Enable support for the National Instruments PCMCIA DAQCard-700 DIO
 
@@ -1142,6 +1169,7 @@ config COMEDI_NI_DAQ_700_CS
 
 config COMEDI_NI_DAQ_DIO24_CS
        tristate "NI DAQ-Card DIO-24 PCMCIA support"
+       depends on HAS_IOPORT
        select COMEDI_8255
        help
          Enable support for the National Instruments PCMCIA DAQ-Card DIO-24
@@ -1151,7 +1179,7 @@ config COMEDI_NI_DAQ_DIO24_CS
 
 config COMEDI_NI_LABPC_CS
        tristate "NI DAQCard-1200 PCMCIA support"
-       select COMEDI_NI_LABPC
+       depends on COMEDI_NI_LABPC
        help
          Enable support for the National Instruments PCMCIA DAQCard-1200
 
@@ -1160,6 +1188,7 @@ config COMEDI_NI_LABPC_CS
 
 config COMEDI_NI_MIO_CS
        tristate "NI DAQCard E series PCMCIA support"
+       depends on HAS_IOPORT
        select COMEDI_NI_TIO
        select COMEDI_8255
        help
@@ -1172,6 +1201,7 @@ config COMEDI_NI_MIO_CS
 
 config COMEDI_QUATECH_DAQP_CS
        tristate "Quatech DAQP PCMCIA data capture card support"
+       depends on HAS_IOPORT
        help
          Enable support for the Quatech DAQP PCMCIA data capture cards
          DAQP-208 and DAQP-308
@@ -1248,12 +1278,14 @@ endif # COMEDI_USB_DRIVERS
 
 config COMEDI_8254
        tristate
+       depends on HAS_IOPORT
 
 config COMEDI_8255
        tristate
 
 config COMEDI_8255_SA
        tristate "Standalone 8255 support"
+       depends on HAS_IOPORT
        select COMEDI_8255
        help
          Enable support for 8255 digital I/O as a standalone driver.
@@ -1285,7 +1317,7 @@ config COMEDI_KCOMEDILIB
          called kcomedilib.
 
 config COMEDI_AMPLC_DIO200
-       select COMEDI_8254
+       depends on COMEDI_8254
        tristate
 
 config COMEDI_AMPLC_PC236
@@ -1294,7 +1326,7 @@ config COMEDI_AMPLC_PC236
 
 config COMEDI_DAS08
        tristate
-       select COMEDI_8254
+       depends on COMEDI_8254
        select COMEDI_8255
 
 config COMEDI_ISADMA
@@ -1302,7 +1334,8 @@ config COMEDI_ISADMA
 
 config COMEDI_NI_LABPC
        tristate
-       select COMEDI_8254
+       depends on HAS_IOPORT
+       depends on COMEDI_8254
        select COMEDI_8255
 
 config COMEDI_NI_LABPC_ISADMA
index 4228be9..e65a2bf 100644 (file)
@@ -15,6 +15,7 @@ if COUNTER
 config 104_QUAD_8
        tristate "ACCES 104-QUAD-8 driver"
        depends on (PC104 && X86) || COMPILE_TEST
+       depends on HAS_IOPORT_MAP
        select ISA_BUS_API
        help
          Say yes here to build support for the ACCES 104-QUAD-8 quadrature
index 03708ab..8d91997 100644 (file)
@@ -310,6 +310,7 @@ static const struct kobj_type dmi_system_event_log_ktype = {
        .default_groups = dmi_sysfs_sel_groups,
 };
 
+#ifdef CONFIG_HAS_IOPORT
 typedef u8 (*sel_io_reader)(const struct dmi_system_event_log *sel,
                            loff_t offset);
 
@@ -374,6 +375,7 @@ static ssize_t dmi_sel_raw_read_io(struct dmi_sysfs_entry *entry,
 
        return wrote;
 }
+#endif
 
 static ssize_t dmi_sel_raw_read_phys32(struct dmi_sysfs_entry *entry,
                                       const struct dmi_system_event_log *sel,
@@ -409,11 +411,13 @@ static ssize_t dmi_sel_raw_read_helper(struct dmi_sysfs_entry *entry,
        memcpy(&sel, dh, sizeof(sel));
 
        switch (sel.access_method) {
+#ifdef CONFIG_HAS_IOPORT
        case DMI_SEL_ACCESS_METHOD_IO8:
        case DMI_SEL_ACCESS_METHOD_IO2x8:
        case DMI_SEL_ACCESS_METHOD_IO16:
                return dmi_sel_raw_read_io(entry, &sel, state->buf,
                                           state->pos, state->count);
+#endif
        case DMI_SEL_ACCESS_METHOD_PHYS32:
                return dmi_sel_raw_read_phys32(entry, &sel, state->buf,
                                               state->pos, state->count);
index 99606b3..8528850 100644 (file)
@@ -4,7 +4,7 @@
  *
  *  Copyright (C) 2014-2018 Xilinx, Inc.
  *
- *  Michal Simek <michal.simek@xilinx.com>
+ *  Michal Simek <michal.simek@amd.com>
  *  Davorin Mista <davorin.mista@aggios.com>
  *  Jolly Shah <jollys@xilinx.com>
  *  Rajan Vaja <rajanv@xilinx.com>
index 9929f8b..e1515a9 100644 (file)
@@ -4,7 +4,7 @@
  *
  *  Copyright (C) 2014-2018 Xilinx
  *
- *  Michal Simek <michal.simek@xilinx.com>
+ *  Michal Simek <michal.simek@amd.com>
  *  Davorin Mista <davorin.mista@aggios.com>
  *  Jolly Shah <jollys@xilinx.com>
  *  Rajan Vaja <rajanv@xilinx.com>
index a736db4..60eb6bd 100644 (file)
@@ -4,7 +4,7 @@
  *
  *  Copyright (C) 2014-2022 Xilinx, Inc.
  *
- *  Michal Simek <michal.simek@xilinx.com>
+ *  Michal Simek <michal.simek@amd.com>
  *  Davorin Mista <davorin.mista@aggios.com>
  *  Jolly Shah <jollys@xilinx.com>
  *  Rajan Vaja <rajanv@xilinx.com>
index 2690e2c..6fd1b3f 100644 (file)
@@ -6,7 +6,6 @@
 menuconfig ISDN
        bool "ISDN support"
        depends on NET && NETDEVICES
-       depends on !S390 && !UML
        help
          ISDN ("Integrated Services Digital Network", called RNIS in France)
          is a fully digital telephone service that can be used for voice and
index 078eead..a35bff8 100644 (file)
@@ -14,7 +14,7 @@ config MISDN_HFCPCI
 
 config MISDN_HFCMULTI
        tristate "Support for HFC multiport cards (HFC-4S/8S/E1)"
-       depends on PCI || CPM1
+       depends on (PCI || CPM1) && HAS_IOPORT
        depends on MISDN
        help
          Enable support for cards with Cologne Chip AG's HFC multiport
@@ -43,7 +43,7 @@ config MISDN_HFCUSB
 config MISDN_AVMFRITZ
        tristate "Support for AVM FRITZ!CARD PCI"
        depends on MISDN
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select MISDN_IPAC
        help
          Enable support for AVMs FRITZ!CARD PCI cards
@@ -51,7 +51,7 @@ config MISDN_AVMFRITZ
 config MISDN_SPEEDFAX
        tristate "Support for Sedlbauer Speedfax+"
        depends on MISDN
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select MISDN_IPAC
        select MISDN_ISAR
        help
@@ -60,7 +60,7 @@ config MISDN_SPEEDFAX
 config MISDN_INFINEON
        tristate "Support for cards with Infineon chipset"
        depends on MISDN
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select MISDN_IPAC
        help
          Enable support for cards with ISAC + HSCX, IPAC or IPAC-SX
@@ -69,14 +69,14 @@ config MISDN_INFINEON
 config MISDN_W6692
        tristate "Support for cards with Winbond 6692"
        depends on MISDN
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        help
          Enable support for Winbond 6692 PCI chip based cards.
 
 config MISDN_NETJET
        tristate "Support for NETJet cards"
        depends on MISDN
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        depends on TTY
        select MISDN_IPAC
        select MISDN_HDLC
index 3856d5c..469478f 100644 (file)
@@ -106,7 +106,7 @@ static struct i2c_driver ad_dpot_i2c_driver = {
        .driver = {
                .name   = "ad_dpot",
        },
-       .probe_new      = ad_dpot_i2c_probe,
+       .probe          = ad_dpot_i2c_probe,
        .remove         = ad_dpot_i2c_remove,
        .id_table       = ad_dpot_id,
 };
index dd0f818..90f18e7 100644 (file)
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-altera-stapl-objs = altera-lpt.o altera-jtag.o altera-comp.o altera.o
+altera-stapl-y = altera-jtag.o altera-comp.o altera.o
+altera-stapl-$(CONFIG_HAS_IOPORT) += altera-lpt.o
 
 obj-$(CONFIG_ALTERA_STAPL) += altera-stapl.o
index a58b7cb..587427b 100644 (file)
@@ -2407,6 +2407,10 @@ int altera_init(struct altera_config *config, const struct firmware *fw)
 
        astate->config = config;
        if (!astate->config->jtag_io) {
+               if (!IS_ENABLED(CONFIG_HAS_IOPORT)) {
+                       retval = -ENODEV;
+                       goto free_state;
+               }
                dprintk("%s: using byteblaster!\n", __func__);
                astate->config->jtag_io = netup_jtag_io_lpt;
        }
@@ -2481,7 +2485,7 @@ int altera_init(struct altera_config *config, const struct firmware *fw)
 
        } else if (exec_result)
                printk(KERN_ERR "%s: error %d\n", __func__, exec_result);
-
+free_state:
        kfree(astate);
 free_value:
        kfree(value);
index 0526c55..693f0e5 100644 (file)
@@ -296,7 +296,7 @@ static struct i2c_driver apds9802als_driver = {
                .name = DRIVER_NAME,
                .pm = APDS9802ALS_PM_OPS,
        },
-       .probe_new = apds9802als_probe,
+       .probe = apds9802als_probe,
        .remove = apds9802als_remove,
        .id_table = apds9802als_id,
 };
index 0024503..92b92be 100644 (file)
@@ -1267,11 +1267,11 @@ static const struct dev_pm_ops apds990x_pm_ops = {
 };
 
 static struct i2c_driver apds990x_driver = {
-       .driver  = {
+       .driver   = {
                .name   = "apds990x",
                .pm     = &apds990x_pm_ops,
        },
-       .probe_new = apds990x_probe,
+       .probe    = apds990x_probe,
        .remove   = apds990x_remove,
        .id_table = apds990x_id,
 };
index bedbe0e..1629b62 100644 (file)
@@ -1374,11 +1374,11 @@ static const struct dev_pm_ops bh1770_pm_ops = {
 };
 
 static struct i2c_driver bh1770_driver = {
-       .driver  = {
+       .driver   = {
                .name   = "bh1770glc",
                .pm     = &bh1770_pm_ops,
        },
-       .probe_new = bh1770_probe,
+       .probe    = bh1770_probe,
        .remove   = bh1770_remove,
        .id_table = bh1770_id,
 };
index d517eed..21fc5bc 100644 (file)
@@ -250,7 +250,7 @@ static struct i2c_driver ds1682_driver = {
                .name = "ds1682",
                .of_match_table = ds1682_of_match,
        },
-       .probe_new = ds1682_probe,
+       .probe = ds1682_probe,
        .remove = ds1682_remove,
        .id_table = ds1682_id,
 };
index 938c4f4..d93fbb1 100644 (file)
@@ -832,7 +832,7 @@ static struct i2c_driver at24_driver = {
                .of_match_table = at24_of_match,
                .acpi_match_table = ACPI_PTR(at24_acpi_ids),
        },
-       .probe_new = at24_probe,
+       .probe = at24_probe,
        .remove = at24_remove,
        .id_table = at24_ids,
        .flags = I2C_DRV_ACPI_WAIVE_D0_PROBE,
index c8c6deb..a1acd77 100644 (file)
@@ -234,7 +234,7 @@ static struct i2c_driver ee1004_driver = {
                .name = "ee1004",
                .dev_groups = ee1004_groups,
        },
-       .probe_new = ee1004_probe,
+       .probe = ee1004_probe,
        .remove = ee1004_remove,
        .id_table = ee1004_ids,
 };
index 3261110..ccb7c2f 100644 (file)
@@ -196,7 +196,7 @@ static struct i2c_driver eeprom_driver = {
        .driver = {
                .name   = "eeprom",
        },
-       .probe_new      = eeprom_probe,
+       .probe          = eeprom_probe,
        .remove         = eeprom_remove,
        .id_table       = eeprom_id,
 
index 7075d0b..740c063 100644 (file)
@@ -1556,7 +1556,7 @@ static struct i2c_driver idt_driver = {
                .name = IDT_NAME,
                .of_match_table = idt_of_match,
        },
-       .probe_new = idt_probe,
+       .probe = idt_probe,
        .remove = idt_remove,
        .id_table = idt_ids,
 };
index 79cf8af..cb6b1ef 100644 (file)
@@ -192,7 +192,7 @@ static struct i2c_driver max6875_driver = {
        .driver = {
                .name   = "max6875",
        },
-       .probe_new      = max6875_probe,
+       .probe          = max6875_probe,
        .remove         = max6875_remove,
        .id_table       = max6875_id,
 };
index 8967940..759eaeb 100644 (file)
@@ -131,7 +131,7 @@ static struct i2c_driver hmc6352_driver = {
        .driver = {
                .name = "hmc6352",
        },
-       .probe_new = hmc6352_probe,
+       .probe = hmc6352_probe,
        .remove = hmc6352_remove,
        .id_table = hmc6352_id,
 };
index 12108a7..ee6296b 100644 (file)
@@ -105,7 +105,7 @@ static struct i2c_driver ics932s401_driver = {
        .driver = {
                .name   = "ics932s401",
        },
-       .probe_new      = ics932s401_probe,
+       .probe          = ics932s401_probe,
        .remove         = ics932s401_remove,
        .id_table       = ics932s401_id,
        .detect         = ics932s401_detect,
index 147b58f..ebf0635 100644 (file)
@@ -459,7 +459,7 @@ static struct i2c_driver isl29003_driver = {
                .name   = ISL29003_DRV_NAME,
                .pm     = ISL29003_PM_OPS,
        },
-       .probe_new = isl29003_probe,
+       .probe = isl29003_probe,
        .remove = isl29003_remove,
        .id_table = isl29003_id,
 };
index 3be0209..c5976fa 100644 (file)
@@ -214,7 +214,7 @@ static struct i2c_driver isl29020_driver = {
                .name = "isl29020",
                .pm = ISL29020_PM_OPS,
        },
-       .probe_new = isl29020_probe,
+       .probe = isl29020_probe,
        .remove = isl29020_remove,
        .id_table = isl29020_id,
 };
index 7071412..3882e97 100644 (file)
@@ -262,7 +262,7 @@ static struct i2c_driver lis3lv02d_i2c_driver = {
                .pm     = &lis3_pm_ops,
                .of_match_table = of_match_ptr(lis3lv02d_i2c_dt_ids),
        },
-       .probe_new = lis3lv02d_i2c_probe,
+       .probe = lis3lv02d_i2c_probe,
        .remove = lis3lv02d_i2c_remove,
        .id_table = lis3lv02d_id,
 };
index b4712ff..0772e4a 100644 (file)
@@ -79,7 +79,7 @@ static struct crashpoint crashpoints[] = {
        CRASHPOINT("INT_HARDWARE_ENTRY", "do_IRQ"),
        CRASHPOINT("INT_HW_IRQ_EN",      "handle_irq_event"),
        CRASHPOINT("INT_TASKLET_ENTRY",  "tasklet_action"),
-       CRASHPOINT("FS_DEVRW",           "ll_rw_block"),
+       CRASHPOINT("FS_SUBMIT_BH",               "submit_bh"),
        CRASHPOINT("MEM_SWAPOUT",        "shrink_inactive_list"),
        CRASHPOINT("TIMERADD",           "hrtimer_start"),
        CRASHPOINT("SCSI_QUEUE_RQ",      "scsi_queue_rq"),
index 31e3c74..b8b716f 100644 (file)
@@ -108,7 +108,7 @@ struct mkhi_fw_ver {
 static int mei_osver(struct mei_cl_device *cldev)
 {
        const size_t size = MKHI_OSVER_BUF_LEN;
-       char buf[MKHI_OSVER_BUF_LEN];
+       u8 buf[MKHI_OSVER_BUF_LEN];
        struct mkhi_msg *req;
        struct mkhi_fwcaps *fwcaps;
        struct mei_os_ver *os_ver;
@@ -137,7 +137,7 @@ static int mei_osver(struct mei_cl_device *cldev)
                               sizeof(struct mkhi_fw_ver_block) * (__num))
 static int mei_fwver(struct mei_cl_device *cldev)
 {
-       char buf[MKHI_FWVER_BUF_LEN];
+       u8 buf[MKHI_FWVER_BUF_LEN];
        struct mkhi_msg req;
        struct mkhi_msg *rsp;
        struct mkhi_fw_ver *fwver;
index 5d7a686..33ec642 100644 (file)
@@ -1046,9 +1046,6 @@ static int mei_cl_device_match(struct device *dev, struct device_driver *drv)
        const struct mei_cl_driver *cldrv = to_mei_cl_driver(drv);
        const struct mei_cl_device_id *found_id;
 
-       if (!cldev)
-               return 0;
-
        if (!cldev->do_match)
                return 0;
 
@@ -1079,9 +1076,6 @@ static int mei_cl_device_probe(struct device *dev)
        cldev = to_mei_cl_device(dev);
        cldrv = to_mei_cl_driver(dev->driver);
 
-       if (!cldev)
-               return 0;
-
        if (!cldrv || !cldrv->probe)
                return -ENODEV;
 
@@ -1276,9 +1270,6 @@ static void mei_cl_bus_dev_release(struct device *dev)
 {
        struct mei_cl_device *cldev = to_mei_cl_device(dev);
 
-       if (!cldev)
-               return;
-
        mei_cl_flush_queues(cldev->cl, NULL);
        mei_me_cl_put(cldev->me_cl);
        mei_dev_bus_put(cldev->bus);
index a1f0b2c..c12035a 100644 (file)
@@ -6,7 +6,6 @@
  *
  */
 
-#include <linux/i2c.h>
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
index 9941331..5757adf 100644 (file)
@@ -235,10 +235,11 @@ static int sram_reserve_regions(struct sram_dev *sram, struct resource *res)
                                goto err_chunks;
                        }
                        if (!label)
-                               label = child->name;
-
-                       block->label = devm_kstrdup(sram->dev,
-                                                   label, GFP_KERNEL);
+                               block->label = devm_kasprintf(sram->dev, GFP_KERNEL,
+                                                             "%s", dev_name(sram->dev));
+                       else
+                               block->label = devm_kstrdup(sram->dev,
+                                                           label, GFP_KERNEL);
                        if (!block->label) {
                                ret = -ENOMEM;
                                goto err_chunks;
index 6c62b94..a3bc282 100644 (file)
@@ -437,7 +437,7 @@ static struct i2c_driver tsl2550_driver = {
                .of_match_table = tsl2550_of_match,
                .pm     = TSL2550_PM_OPS,
        },
-       .probe_new = tsl2550_probe,
+       .probe = tsl2550_probe,
        .remove = tsl2550_remove,
        .id_table = tsl2550_id,
 };
index 346bd7c..930c252 100644 (file)
@@ -166,8 +166,8 @@ static int uacce_fops_open(struct inode *inode, struct file *filep)
 
        init_waitqueue_head(&q->wait);
        filep->private_data = q;
-       uacce->inode = inode;
        q->state = UACCE_Q_INIT;
+       q->mapping = filep->f_mapping;
        mutex_init(&q->mutex);
        list_add(&q->list, &uacce->queues);
        mutex_unlock(&uacce->mutex);
@@ -200,12 +200,15 @@ static int uacce_fops_release(struct inode *inode, struct file *filep)
 static void uacce_vma_close(struct vm_area_struct *vma)
 {
        struct uacce_queue *q = vma->vm_private_data;
-       struct uacce_qfile_region *qfr = NULL;
 
-       if (vma->vm_pgoff < UACCE_MAX_REGION)
-               qfr = q->qfrs[vma->vm_pgoff];
+       if (vma->vm_pgoff < UACCE_MAX_REGION) {
+               struct uacce_qfile_region *qfr = q->qfrs[vma->vm_pgoff];
 
-       kfree(qfr);
+               mutex_lock(&q->mutex);
+               q->qfrs[vma->vm_pgoff] = NULL;
+               mutex_unlock(&q->mutex);
+               kfree(qfr);
+       }
 }
 
 static const struct vm_operations_struct uacce_vm_ops = {
@@ -574,12 +577,6 @@ void uacce_remove(struct uacce_device *uacce)
 
        if (!uacce)
                return;
-       /*
-        * unmap remaining mapping from user space, preventing user still
-        * access the mmaped area while parent device is already removed
-        */
-       if (uacce->inode)
-               unmap_mapping_range(uacce->inode->i_mapping, 0, 0, 1);
 
        /*
         * uacce_fops_open() may be running concurrently, even after we remove
@@ -597,6 +594,12 @@ void uacce_remove(struct uacce_device *uacce)
                uacce_put_queue(q);
                mutex_unlock(&q->mutex);
                uacce_unbind_queue(q);
+
+               /*
+                * unmap remaining mapping from user space, preventing user still
+                * access the mmaped area while parent device is already removed
+                */
+               unmap_mapping_range(q->mapping, 0, 0, 1);
        }
 
        /* disable sva now since no opened queues */
index cb9506f..270ff4c 100644 (file)
@@ -855,16 +855,6 @@ static int xsdfec_cfg_axi_streams(struct xsdfec_dev *xsdfec)
        return 0;
 }
 
-static int xsdfec_dev_open(struct inode *iptr, struct file *fptr)
-{
-       return 0;
-}
-
-static int xsdfec_dev_release(struct inode *iptr, struct file *fptr)
-{
-       return 0;
-}
-
 static int xsdfec_start(struct xsdfec_dev *xsdfec)
 {
        u32 regread;
@@ -1030,8 +1020,6 @@ static __poll_t xsdfec_poll(struct file *file, poll_table *wait)
 
 static const struct file_operations xsdfec_fops = {
        .owner = THIS_MODULE,
-       .open = xsdfec_dev_open,
-       .release = xsdfec_dev_release,
        .unlocked_ioctl = xsdfec_dev_ioctl,
        .poll = xsdfec_poll,
        .compat_ioctl = compat_ptr_ioctl,
index e5c571f..80f015c 100644 (file)
@@ -47,7 +47,7 @@ config MUX_GPIO
 
 config MUX_MMIO
        tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
-       depends on OF || COMPILE_TEST
+       depends on OF
        help
          MMIO/Regmap register bitfield-controlled Multiplexer controller.
 
index 44a7a0e..245bc07 100644 (file)
@@ -131,7 +131,7 @@ static int mux_mmio_probe(struct platform_device *pdev)
 static struct platform_driver mux_mmio_driver = {
        .driver = {
                .name = "mmio-mux",
-               .of_match_table = of_match_ptr(mux_mmio_dt_ids),
+               .of_match_table = mux_mmio_dt_ids,
        },
        .probe = mux_mmio_probe,
 };
index 5561362..631c193 100644 (file)
@@ -42,7 +42,8 @@ if PARPORT
 
 config PARPORT_PC
        tristate "PC-style hardware"
-       depends on ARCH_MIGHT_HAVE_PC_PARPORT || (PCI && !S390)
+       depends on ARCH_MIGHT_HAVE_PC_PARPORT || PCI
+       depends on HAS_IOPORT
        help
          You should say Y here if you have a PC-style parallel port. All
          IBM PC compatible computers and some Alphas have PC-style
index 44c1650..e72419d 100644 (file)
@@ -5,7 +5,6 @@
 
 menuconfig PCCARD
        tristate "PCCard (PCMCIA/CardBus) support"
-       depends on !UML
        help
          Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
          computer.  These are credit-card size devices such as network cards,
@@ -113,7 +112,7 @@ config YENTA_TOSHIBA
 
 config PD6729
        tristate "Cirrus PD6729 compatible bridge support"
-       depends on PCMCIA && PCI
+       depends on PCMCIA && PCI && HAS_IOPORT
        select PCCARD_NONSTATIC
        help
          This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
@@ -121,7 +120,7 @@ config PD6729
 
 config I82092
        tristate "i82092 compatible bridge support"
-       depends on PCMCIA && PCI
+       depends on PCMCIA && PCI && HAS_IOPORT
        select PCCARD_NONSTATIC
        help
          This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
index 69e93f3..6d99e5a 100644 (file)
@@ -46,11 +46,13 @@ static int uio_dfl_probe(struct dfl_device *ddev)
 
 #define FME_FEATURE_ID_ETH_GROUP       0x10
 #define FME_FEATURE_ID_HSSI_SUBSYS     0x15
+#define FME_FEATURE_ID_VENDOR_SPECIFIC 0x23
 #define PORT_FEATURE_ID_IOPLL_USRCLK   0x14
 
 static const struct dfl_device_id uio_dfl_ids[] = {
        { FME_ID, FME_FEATURE_ID_ETH_GROUP },
        { FME_ID, FME_FEATURE_ID_HSSI_SUBSYS },
+       { FME_ID, FME_FEATURE_ID_VENDOR_SPECIFIC },
        { PORT_ID, PORT_FEATURE_ID_IOPLL_USRCLK },
        { }
 };
index e8c7fa6..d7fbc3c 100644 (file)
@@ -93,7 +93,7 @@ static int sgi_w1_probe(struct platform_device *pdev)
 
        pdata = dev_get_platdata(&pdev->dev);
        if (pdata) {
-               strlcpy(sdev->dev_id, pdata->dev_id, sizeof(sdev->dev_id));
+               strscpy(sdev->dev_id, pdata->dev_id, sizeof(sdev->dev_id));
                sdev->bus_master.dev_id = sdev->dev_id;
        }
 
index 6877538..32b8a75 100644 (file)
@@ -71,8 +71,8 @@ config W1_SLAVE_DS2805
        help
          Say Y here if you want to use a 1-wire
          is a 112-byte user-programmable EEPROM is
-          organized as 7 pages of 16 bytes each with 64bit
-          unique number. Requires OverDrive Speed to talk to.
+         organized as 7 pages of 16 bytes each with 64bit
+         unique number. Requires OverDrive Speed to talk to.
 
 config W1_SLAVE_DS2430
        tristate "256b EEPROM family support (DS2430)"
index ca64f99..e008c27 100644 (file)
@@ -66,8 +66,6 @@ static int w1_ds2438_get_page(struct w1_slave *sl, int pageno, u8 *buf)
        size_t count;
 
        while (retries--) {
-               crc = 0;
-
                if (w1_reset_select_slave(sl))
                        continue;
                w1_buf[0] = W1_DS2438_RECALL_MEMORY;
index 0676926..c85e80c 100644 (file)
@@ -284,7 +284,7 @@ static int read_powermode(struct w1_slave *sl);
  * trigger_bulk_read() - function to trigger a bulk read on the bus
  * @dev_master: the device master of the bus
  *
- * Send a SKIP ROM follow by a CONVERT T commmand on the bus.
+ * Send a SKIP ROM follow by a CONVERT T command on the bus.
  * It also set the status flag in each slave &struct w1_therm_family_data
  * to signal that a conversion is in progress.
  *
@@ -454,7 +454,7 @@ static const struct hwmon_channel_info w1_temp = {
        .config = w1_temp_config,
 };
 
-static const struct hwmon_channel_info *w1_info[] = {
+static const struct hwmon_channel_info * const w1_info[] = {
        &w1_temp,
        NULL
 };
@@ -1159,29 +1159,26 @@ static int convert_t(struct w1_slave *sl, struct therm_info *info)
 
                        w1_write_8(dev_master, W1_CONVERT_TEMP);
 
-                       if (strong_pullup) { /*some device need pullup */
+                       if (SLAVE_FEATURES(sl) & W1_THERM_POLL_COMPLETION) {
+                               ret = w1_poll_completion(dev_master, W1_POLL_CONVERT_TEMP);
+                               if (ret) {
+                                       dev_dbg(&sl->dev, "%s: Timeout\n", __func__);
+                                       goto mt_unlock;
+                               }
+                               mutex_unlock(&dev_master->bus_mutex);
+                       } else if (!strong_pullup) { /*no device need pullup */
                                sleep_rem = msleep_interruptible(t_conv);
                                if (sleep_rem != 0) {
                                        ret = -EINTR;
                                        goto mt_unlock;
                                }
                                mutex_unlock(&dev_master->bus_mutex);
-                       } else { /*no device need pullup */
-                               if (SLAVE_FEATURES(sl) & W1_THERM_POLL_COMPLETION) {
-                                       ret = w1_poll_completion(dev_master, W1_POLL_CONVERT_TEMP);
-                                       if (ret) {
-                                               dev_dbg(&sl->dev, "%s: Timeout\n", __func__);
-                                               goto mt_unlock;
-                                       }
-                                       mutex_unlock(&dev_master->bus_mutex);
-                               } else {
-                                       /* Fixed delay */
-                                       mutex_unlock(&dev_master->bus_mutex);
-                                       sleep_rem = msleep_interruptible(t_conv);
-                                       if (sleep_rem != 0) {
-                                               ret = -EINTR;
-                                               goto dec_refcnt;
-                                       }
+                       } else { /*some device need pullup */
+                               mutex_unlock(&dev_master->bus_mutex);
+                               sleep_rem = msleep_interruptible(t_conv);
+                               if (sleep_rem != 0) {
+                                       ret = -EINTR;
+                                       goto dec_refcnt;
                                }
                        }
                        ret = read_scratchpad(sl, info);
@@ -1515,7 +1512,7 @@ static int trigger_bulk_read(struct w1_master *dev_master)
                if (bulk_read_support(sl)) {
                        int t_cur = conversion_time(sl);
 
-                       t_conv = t_cur > t_conv ? t_cur : t_conv;
+                       t_conv = max(t_cur, t_conv);
                        strong_pullup = strong_pullup ||
                                        (w1_strong_pullup == 2 ||
                                        (!SLAVE_POWERMODE(sl) &&
index 9d199fe..5353cbd 100644 (file)
@@ -32,7 +32,7 @@ static int w1_timeout = 10;
 module_param_named(timeout, w1_timeout, int, 0);
 MODULE_PARM_DESC(timeout, "time in seconds between automatic slave searches");
 
-static int w1_timeout_us = 0;
+static int w1_timeout_us;
 module_param_named(timeout_us, w1_timeout_us, int, 0);
 MODULE_PARM_DESC(timeout_us,
                 "time in microseconds between automatic slave searches");
@@ -58,11 +58,6 @@ MODULE_PARM_DESC(slave_ttl,
 DEFINE_MUTEX(w1_mlock);
 LIST_HEAD(w1_masters);
 
-static int w1_master_match(struct device *dev, struct device_driver *drv)
-{
-       return 1;
-}
-
 static int w1_master_probe(struct device *dev)
 {
        return -ENODEV;
@@ -174,7 +169,6 @@ static int w1_uevent(const struct device *dev, struct kobj_uevent_env *env);
 
 static struct bus_type w1_bus_type = {
        .name = "w1",
-       .match = w1_master_match,
        .uevent = w1_uevent,
 };
 
@@ -301,17 +295,13 @@ static ssize_t w1_master_attribute_show_pointer(struct device *dev, struct devic
 
 static ssize_t w1_master_attribute_show_timeout(struct device *dev, struct device_attribute *attr, char *buf)
 {
-       ssize_t count;
-       count = sprintf(buf, "%d\n", w1_timeout);
-       return count;
+       return sprintf(buf, "%d\n", w1_timeout);
 }
 
 static ssize_t w1_master_attribute_show_timeout_us(struct device *dev,
        struct device_attribute *attr, char *buf)
 {
-       ssize_t count;
-       count = sprintf(buf, "%d\n", w1_timeout_us);
-       return count;
+       return sprintf(buf, "%d\n", w1_timeout_us);
 }
 
 static ssize_t w1_master_attribute_store_max_slave_count(struct device *dev,
@@ -501,7 +491,7 @@ static ssize_t w1_master_attribute_store_remove(struct device *dev,
        struct w1_master *md = dev_to_w1_master(dev);
        struct w1_reg_num rn;
        struct w1_slave *sl;
-       ssize_t result = count;
+       ssize_t result;
 
        if (w1_atoreg_num(dev, buf, count, &rn))
                return -EINVAL;
@@ -702,6 +692,7 @@ static int __w1_attach_slave_device(struct w1_slave *sl)
                dev_err(&sl->dev,
                        "Device registration [%s] failed. err=%d\n",
                        dev_name(&sl->dev), err);
+               of_node_put(sl->dev.of_node);
                put_device(&sl->dev);
                return err;
        }
@@ -830,49 +821,47 @@ int w1_slave_detach(struct w1_slave *sl)
 
 struct w1_master *w1_search_master_id(u32 id)
 {
-       struct w1_master *dev;
-       int found = 0;
+       struct w1_master *dev = NULL, *iter;
 
        mutex_lock(&w1_mlock);
-       list_for_each_entry(dev, &w1_masters, w1_master_entry) {
-               if (dev->id == id) {
-                       found = 1;
-                       atomic_inc(&dev->refcnt);
+       list_for_each_entry(iter, &w1_masters, w1_master_entry) {
+               if (iter->id == id) {
+                       dev = iter;
+                       atomic_inc(&iter->refcnt);
                        break;
                }
        }
        mutex_unlock(&w1_mlock);
 
-       return (found)?dev:NULL;
+       return dev;
 }
 
 struct w1_slave *w1_search_slave(struct w1_reg_num *id)
 {
        struct w1_master *dev;
-       struct w1_slave *sl = NULL;
-       int found = 0;
+       struct w1_slave *sl = NULL, *iter;
 
        mutex_lock(&w1_mlock);
        list_for_each_entry(dev, &w1_masters, w1_master_entry) {
                mutex_lock(&dev->list_mutex);
-               list_for_each_entry(sl, &dev->slist, w1_slave_entry) {
-                       if (sl->reg_num.family == id->family &&
-                                       sl->reg_num.id == id->id &&
-                                       sl->reg_num.crc == id->crc) {
-                               found = 1;
+               list_for_each_entry(iter, &dev->slist, w1_slave_entry) {
+                       if (iter->reg_num.family == id->family &&
+                           iter->reg_num.id == id->id &&
+                           iter->reg_num.crc == id->crc) {
+                               sl = iter;
                                atomic_inc(&dev->refcnt);
-                               atomic_inc(&sl->refcnt);
+                               atomic_inc(&iter->refcnt);
                                break;
                        }
                }
                mutex_unlock(&dev->list_mutex);
 
-               if (found)
+               if (sl)
                        break;
        }
        mutex_unlock(&w1_mlock);
 
-       return (found)?sl:NULL;
+       return sl;
 }
 
 void w1_reconnect_slaves(struct w1_family *f, int attach)
@@ -1263,10 +1252,10 @@ err_out_exit_init:
 
 static void __exit w1_fini(void)
 {
-       struct w1_master *dev;
+       struct w1_master *dev, *n;
 
        /* Set netlink removal messages and some cleanup */
-       list_for_each_entry(dev, &w1_masters, w1_master_entry)
+       list_for_each_entry_safe(dev, n, &w1_masters, w1_master_entry)
                __w1_remove_master_device(dev);
 
        w1_fini_netlink();
index d3116c5..669ca2d 100644 (file)
 #define J721S2_SERDES0_LANE3_USB               0x2
 #define J721S2_SERDES0_LANE3_IP4_UNUSED                0x3
 
+/* J784S4 */
+
+#define J784S4_SERDES0_LANE0_IP1_UNUSED                0x0
+#define J784S4_SERDES0_LANE0_PCIE1_LANE0       0x1
+#define J784S4_SERDES0_LANE0_IP3_UNUSED                0x2
+#define J784S4_SERDES0_LANE0_IP4_UNUSED                0x3
+
+#define J784S4_SERDES0_LANE1_IP1_UNUSED                0x0
+#define J784S4_SERDES0_LANE1_PCIE1_LANE1       0x1
+#define J784S4_SERDES0_LANE1_IP3_UNUSED                0x2
+#define J784S4_SERDES0_LANE1_IP4_UNUSED                0x3
+
+#define J784S4_SERDES0_LANE2_PCIE3_LANE0       0x0
+#define J784S4_SERDES0_LANE2_PCIE1_LANE2       0x1
+#define J784S4_SERDES0_LANE2_IP3_UNUSED                0x2
+#define J784S4_SERDES0_LANE2_IP4_UNUSED                0x3
+
+#define J784S4_SERDES0_LANE3_PCIE3_LANE1       0x0
+#define J784S4_SERDES0_LANE3_PCIE1_LANE3       0x1
+#define J784S4_SERDES0_LANE3_USB               0x2
+#define J784S4_SERDES0_LANE3_IP4_UNUSED                0x3
+
+#define J784S4_SERDES1_LANE0_QSGMII_LANE3      0x0
+#define J784S4_SERDES1_LANE0_PCIE0_LANE0       0x1
+#define J784S4_SERDES1_LANE0_IP3_UNUSED                0x2
+#define J784S4_SERDES1_LANE0_IP4_UNUSED                0x3
+
+#define J784S4_SERDES1_LANE1_QSGMII_LANE4      0x0
+#define J784S4_SERDES1_LANE1_PCIE0_LANE1       0x1
+#define J784S4_SERDES1_LANE1_IP3_UNUSED                0x2
+#define J784S4_SERDES1_LANE1_IP4_UNUSED                0x3
+
+#define J784S4_SERDES1_LANE2_QSGMII_LANE1      0x0
+#define J784S4_SERDES1_LANE2_PCIE0_LANE2       0x1
+#define J784S4_SERDES1_LANE2_PCIE2_LANE0       0x2
+#define J784S4_SERDES1_LANE2_IP4_UNUSED                0x3
+
+#define J784S4_SERDES1_LANE3_QSGMII_LANE2      0x0
+#define J784S4_SERDES1_LANE3_PCIE0_LANE3       0x1
+#define J784S4_SERDES1_LANE3_PCIE2_LANE1       0x2
+#define J784S4_SERDES1_LANE3_IP4_UNUSED                0x3
+
+#define J784S4_SERDES2_LANE0_QSGMII_LANE5      0x0
+#define J784S4_SERDES2_LANE0_IP2_UNUSED                0x1
+#define J784S4_SERDES2_LANE0_IP3_UNUSED                0x2
+#define J784S4_SERDES2_LANE0_IP4_UNUSED                0x3
+
+#define J784S4_SERDES2_LANE1_QSGMII_LANE6      0x0
+#define J784S4_SERDES2_LANE1_IP2_UNUSED                0x1
+#define J784S4_SERDES2_LANE1_IP3_UNUSED                0x2
+#define J784S4_SERDES2_LANE1_IP4_UNUSED                0x3
+
+#define J784S4_SERDES2_LANE2_QSGMII_LANE7      0x0
+#define J784S4_SERDES2_LANE2_QSGMII_LANE1      0x1
+#define J784S4_SERDES2_LANE2_IP3_UNUSED                0x2
+#define J784S4_SERDES2_LANE2_IP4_UNUSED                0x3
+
+#define J784S4_SERDES2_LANE3_QSGMII_LANE8      0x0
+#define J784S4_SERDES2_LANE3_QSGMII_LANE2      0x1
+#define J784S4_SERDES2_LANE3_IP3_UNUSED                0x2
+#define J784S4_SERDES2_LANE3_IP4_UNUSED                0x3
+
 #endif /* _DT_BINDINGS_MUX_TI_SERDES */
index 5001e14..c60a6a1 100644 (file)
@@ -107,7 +107,7 @@ enum amba_vendor {
 
 extern struct bus_type amba_bustype;
 
-#define to_amba_device(d)      container_of(d, struct amba_device, dev)
+#define to_amba_device(d)      container_of_const(d, struct amba_device, dev)
 
 #define amba_get_drvdata(d)    dev_get_drvdata(&d->dev)
 #define amba_set_drvdata(d,p)  dev_set_drvdata(&d->dev, p)
index f5da516..9dda7d9 100644 (file)
@@ -4,7 +4,7 @@
  *
  *  Copyright (C) 2014-2021 Xilinx
  *
- *  Michal Simek <michal.simek@xilinx.com>
+ *  Michal Simek <michal.simek@amd.com>
  *  Davorin Mista <davorin.mista@aggios.com>
  *  Jolly Shah <jollys@xilinx.com>
  *  Rajan Vaja <rajanv@xilinx.com>
index a0bc9e0..fff39bc 100644 (file)
@@ -514,7 +514,7 @@ extern int parport_device_proc_register(struct pardevice *device);
 extern int parport_device_proc_unregister(struct pardevice *device);
 
 /* If PC hardware is the only type supported, we can optimise a bit.  */
-#if !defined(CONFIG_PARPORT_NOT_PC)
+#if !defined(CONFIG_PARPORT_NOT_PC) && defined(CONFIG_PARPORT_PC)
 
 #include <linux/parport_pc.h>
 #define parport_write_data(p,x)            parport_pc_write_data(p,x)
index 0a81c3d..e290c02 100644 (file)
@@ -86,6 +86,7 @@ enum uacce_q_state {
  * @state: queue state machine
  * @pasid: pasid associated to the mm
  * @handle: iommu_sva handle returned by iommu_sva_bind_device()
+ * @mapping: user space mapping of the queue
  */
 struct uacce_queue {
        struct uacce_device *uacce;
@@ -97,6 +98,7 @@ struct uacce_queue {
        enum uacce_q_state state;
        u32 pasid;
        struct iommu_sva *handle;
+       struct address_space *mapping;
 };
 
 /**
@@ -114,7 +116,6 @@ struct uacce_queue {
  * @mutex: protects uacce operation
  * @priv: private pointer of the uacce
  * @queues: list of queues
- * @inode: core vfs
  */
 struct uacce_device {
        const char *algs;
@@ -130,7 +131,6 @@ struct uacce_device {
        struct mutex mutex;
        void *priv;
        struct list_head queues;
-       struct inode *inode;
 };
 
 #if IS_ENABLED(CONFIG_UACCE)
index ea31640..938dba2 100755 (executable)
@@ -98,7 +98,7 @@ all_compiled_sources()
        {
                echo include/generated/autoconf.h
                find $ignore -name "*.cmd" -exec \
-                       sed -n -E 's/^source_.* (.*)/\1/p; s/^  (\S.*) \\/\1/p' {} \+ |
+                       grep -Poh '(?<=^  )\S+|(?<== )\S+[^\\](?=$)' {} \+ |
                awk '!a[$0]++'
        } | xargs realpath -esq $([ -z "$KBUILD_ABS_SRCTREE" ] && echo --relative-to=.) |
        sort -u