[PATCH v2] PM: Kconfig: fix unmet dependency for PM_SLEEP_SMP

2021-03-23 Thread Necip Fazil Yildiran
When PM_SLEEP_SMP is enabled and HOTPLUG_CPU is disabled, it results in
the following Kbuild warning:

WARNING: unmet direct dependencies detected for HOTPLUG_CPU
  Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV 
[=n] || FSL_SOC_BOOKE [=n])
  Selected by [y]:
  - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=n] || 
ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y]

The reason is that PM_SLEEP_SMP selects HOTPLUG_CPU without depending on
or selecting HOTPLUG_CPU's dependencies.

Let PM_SLEEP_SMP depend on HOTPLUG_CPU's dependencies to avoid Kbuild issues.

Signed-off-by: Necip Fazil Yildiran 
---
v1->v2:
* Keep selecting HOTPLUG_CPU by PM_SLEEP_SMP as it needs to be selected
automatically, let PM_SLEEP_SMP depend on missing dependencies instead.
---
 kernel/power/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index 6bfe3ead10ad..0c4aa403e04a 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -125,6 +125,7 @@ config PM_SLEEP_SMP
depends on SMP
depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
depends on PM_SLEEP
+   depends on PPC_PSERIES || PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE
select HOTPLUG_CPU
 
 config PM_SLEEP_SMP_NONZERO_CPU
-- 
2.25.1



[PATCH] PM: Kconfig: fix unmet dependency for PM_SLEEP_SMP

2021-03-21 Thread Necip Fazil Yildiran
When PM_SLEEP_SMP is enabled and HOTPLUG_CPU is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for HOTPLUG_CPU
  Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV 
[=n] || FSL_SOC_BOOKE [=n])
  Selected by [y]:
  - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=n] || 
ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y]

The reason is that PM_SLEEP_SMP selects HOTPLUG_CPU without depending on or
selecting HOTPLUG_CPU's dependencies.

Let PM_SLEEP_SMP depend on HOTPLUG_CPU instead to avoid Kbuild issues.

Signed-off-by: Necip Fazil Yildiran 
---
 kernel/power/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index 6bfe3ead10ad..8b53c9b61347 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -125,7 +125,7 @@ config PM_SLEEP_SMP
depends on SMP
depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
depends on PM_SLEEP
-   select HOTPLUG_CPU
+   depends on HOTPLUG_CPU
 
 config PM_SLEEP_SMP_NONZERO_CPU
def_bool y
-- 
2.25.1



[PATCH v2] net: qrtr: fix usage of idr in port assignment to socket

2020-08-17 Thread Necip Fazil Yildiran
From: Necip Fazil Yildiran 

Passing large uint32 sockaddr_qrtr.port numbers for port allocation
triggers a warning within idr_alloc() since the port number is cast
to int, and thus interpreted as a negative number. This leads to
the rejection of such valid port numbers in qrtr_port_assign() as
idr_alloc() fails.

To avoid the problem, switch to idr_alloc_u32() instead.

Fixes: bdabad3e36 ("net: Add Qualcomm IPC router")
Reported-by: syzbot+f31428628ef672716...@syzkaller.appspotmail.com
Signed-off-by: Necip Fazil Yildiran 
Reviewed-by: Dmitry Vyukov 
---
v2:
* Use reverse christmas tree ordering for local variables
* Add reviewed-by tag
---
 net/qrtr/qrtr.c | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c
index b4c0db0b7d31..90c558f89d46 100644
--- a/net/qrtr/qrtr.c
+++ b/net/qrtr/qrtr.c
@@ -692,23 +692,25 @@ static void qrtr_port_remove(struct qrtr_sock *ipc)
  */
 static int qrtr_port_assign(struct qrtr_sock *ipc, int *port)
 {
+   u32 min_port;
int rc;
 
mutex_lock(&qrtr_port_lock);
if (!*port) {
-   rc = idr_alloc(&qrtr_ports, ipc,
-  QRTR_MIN_EPH_SOCKET, QRTR_MAX_EPH_SOCKET + 1,
-  GFP_ATOMIC);
-   if (rc >= 0)
-   *port = rc;
+   min_port = QRTR_MIN_EPH_SOCKET;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 
QRTR_MAX_EPH_SOCKET, GFP_ATOMIC);
+   if (!rc)
+   *port = min_port;
} else if (*port < QRTR_MIN_EPH_SOCKET && !capable(CAP_NET_ADMIN)) {
rc = -EACCES;
} else if (*port == QRTR_PORT_CTRL) {
-   rc = idr_alloc(&qrtr_ports, ipc, 0, 1, GFP_ATOMIC);
+   min_port = 0;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 0, GFP_ATOMIC);
} else {
-   rc = idr_alloc(&qrtr_ports, ipc, *port, *port + 1, GFP_ATOMIC);
-   if (rc >= 0)
-   *port = rc;
+   min_port = *port;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, *port, 
GFP_ATOMIC);
+   if (!rc)
+   *port = min_port;
}
mutex_unlock(&qrtr_port_lock);
 
-- 
2.28.0.220.ged08abb693-goog



[PATCH v3] net: qrtr: fix usage of idr in port assignment to socket

2020-08-17 Thread Necip Fazil Yildiran
From: Necip Fazil Yildiran 

Passing large uint32 sockaddr_qrtr.port numbers for port allocation
triggers a warning within idr_alloc() since the port number is cast
to int, and thus interpreted as a negative number. This leads to
the rejection of such valid port numbers in qrtr_port_assign() as
idr_alloc() fails.

To avoid the problem, switch to idr_alloc_u32() instead.

Fixes: bdabad3e363d ("net: Add Qualcomm IPC router")
Reported-by: syzbot+f31428628ef672716...@syzkaller.appspotmail.com
Signed-off-by: Necip Fazil Yildiran 
Reviewed-by: Dmitry Vyukov 
---
v2->v3:
* Use 12-digits long fixes tag instead of 10
v1->v2:
* Use reverse christmas tree ordering for local variables
* Add reviewed-by tag
---
 net/qrtr/qrtr.c | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c
index b4c0db0b7d31..90c558f89d46 100644
--- a/net/qrtr/qrtr.c
+++ b/net/qrtr/qrtr.c
@@ -692,23 +692,25 @@ static void qrtr_port_remove(struct qrtr_sock *ipc)
  */
 static int qrtr_port_assign(struct qrtr_sock *ipc, int *port)
 {
+   u32 min_port;
int rc;
 
mutex_lock(&qrtr_port_lock);
if (!*port) {
-   rc = idr_alloc(&qrtr_ports, ipc,
-  QRTR_MIN_EPH_SOCKET, QRTR_MAX_EPH_SOCKET + 1,
-  GFP_ATOMIC);
-   if (rc >= 0)
-   *port = rc;
+   min_port = QRTR_MIN_EPH_SOCKET;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 
QRTR_MAX_EPH_SOCKET, GFP_ATOMIC);
+   if (!rc)
+   *port = min_port;
} else if (*port < QRTR_MIN_EPH_SOCKET && !capable(CAP_NET_ADMIN)) {
rc = -EACCES;
} else if (*port == QRTR_PORT_CTRL) {
-   rc = idr_alloc(&qrtr_ports, ipc, 0, 1, GFP_ATOMIC);
+   min_port = 0;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 0, GFP_ATOMIC);
} else {
-   rc = idr_alloc(&qrtr_ports, ipc, *port, *port + 1, GFP_ATOMIC);
-   if (rc >= 0)
-   *port = rc;
+   min_port = *port;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, *port, 
GFP_ATOMIC);
+   if (!rc)
+   *port = min_port;
}
mutex_unlock(&qrtr_port_lock);
 
-- 
2.28.0.220.ged08abb693-goog



[PATCH] net: qrtr: fix usage of idr in port assignment to socket

2020-08-14 Thread Necip Fazil Yildiran
From: Necip Fazil Yildiran 

Passing large uint32 sockaddr_qrtr.port numbers for port allocation
triggers a warning within idr_alloc() since the port number is cast
to int, and thus interpreted as a negative number. This leads to
the rejection of such valid port numbers in qrtr_port_assign() as
idr_alloc() fails.

To avoid the problem, switch to idr_alloc_u32() instead.

Fixes: bdabad3e36 ("net: Add Qualcomm IPC router")
Reported-by: syzbot+f31428628ef672716...@syzkaller.appspotmail.com
Signed-off-by: Necip Fazil Yildiran 
---
 net/qrtr/qrtr.c | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c
index b4c0db0b7d31..52d0707df776 100644
--- a/net/qrtr/qrtr.c
+++ b/net/qrtr/qrtr.c
@@ -693,22 +693,24 @@ static void qrtr_port_remove(struct qrtr_sock *ipc)
 static int qrtr_port_assign(struct qrtr_sock *ipc, int *port)
 {
int rc;
+   u32 min_port;
 
mutex_lock(&qrtr_port_lock);
if (!*port) {
-   rc = idr_alloc(&qrtr_ports, ipc,
-  QRTR_MIN_EPH_SOCKET, QRTR_MAX_EPH_SOCKET + 1,
-  GFP_ATOMIC);
-   if (rc >= 0)
-   *port = rc;
+   min_port = QRTR_MIN_EPH_SOCKET;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 
QRTR_MAX_EPH_SOCKET, GFP_ATOMIC);
+   if (!rc)
+   *port = min_port;
} else if (*port < QRTR_MIN_EPH_SOCKET && !capable(CAP_NET_ADMIN)) {
rc = -EACCES;
} else if (*port == QRTR_PORT_CTRL) {
-   rc = idr_alloc(&qrtr_ports, ipc, 0, 1, GFP_ATOMIC);
+   min_port = 0;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 0, GFP_ATOMIC);
} else {
-   rc = idr_alloc(&qrtr_ports, ipc, *port, *port + 1, GFP_ATOMIC);
-   if (rc >= 0)
-   *port = rc;
+   min_port = *port;
+   rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, *port, 
GFP_ATOMIC);
+   if (!rc)
+   *port = min_port;
}
mutex_unlock(&qrtr_port_lock);
 
-- 
2.28.0.220.ged08abb693-goog



[PATCH] MIPS: BMC47xx: fix kconfig dependency bug for BCM47XX_SSB

2020-11-04 Thread Necip Fazil Yildiran
When BCM47XX_SSB is enabled and SSB_PCIHOST is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for SSB_B43_PCI_BRIDGE
  Depends on [n]: SSB [=y] && SSB_PCIHOST [=n]
  Selected by [y]:
  - BCM47XX_SSB [=y] && BCM47XX [=y] && PCI [=y]

The reason is that BCM47XX_SSB selects SSB_B43_PCI_BRIDGE without
depending on or selecting SSB_PCIHOST while SSB_B43_PCI_BRIDGE depends on
SSB_PCIHOST. This can also fail building the kernel as demonstrated in a
bug report.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=210051
Signed-off-by: Necip Fazil Yildiran 
---
 arch/mips/bcm47xx/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/bcm47xx/Kconfig b/arch/mips/bcm47xx/Kconfig
index 6889f74e06f5..40876654423c 100644
--- a/arch/mips/bcm47xx/Kconfig
+++ b/arch/mips/bcm47xx/Kconfig
@@ -9,6 +9,7 @@ config BCM47XX_SSB
select SSB_DRIVER_MIPS
select SSB_DRIVER_EXTIF
select SSB_EMBEDDED
+   select SSB_PCIHOST if PCI
select SSB_B43_PCI_BRIDGE if PCI
select SSB_DRIVER_PCICORE if PCI
select SSB_PCICORE_HOSTMODE if PCI
-- 
2.25.1



[PATCH] staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK

2020-11-04 Thread Necip Fazil Yildiran
When DMA_RALINK is enabled and DMADEVICES is disabled, it results in the
following Kbuild warnings:

WARNING: unmet direct dependencies detected for DMA_ENGINE
  Depends on [n]: DMADEVICES [=n]
  Selected by [y]:
  - DMA_RALINK [=y] && STAGING [=y] && RALINK [=y] && !SOC_RT288X [=n]

WARNING: unmet direct dependencies detected for DMA_VIRTUAL_CHANNELS
  Depends on [n]: DMADEVICES [=n]
  Selected by [y]:
  - DMA_RALINK [=y] && STAGING [=y] && RALINK [=y] && !SOC_RT288X [=n]

The reason is that DMA_RALINK selects DMA_ENGINE and DMA_VIRTUAL_CHANNELS
without depending on or selecting DMADEVICES while DMA_ENGINE and
DMA_VIRTUAL_CHANNELS are subordinate to DMADEVICES. This can also fail
building the kernel as demonstrated in a bug report.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=210055
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/staging/ralink-gdma/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/ralink-gdma/Kconfig 
b/drivers/staging/ralink-gdma/Kconfig
index 54e8029e6b1a..0017376234e2 100644
--- a/drivers/staging/ralink-gdma/Kconfig
+++ b/drivers/staging/ralink-gdma/Kconfig
@@ -2,6 +2,7 @@
 config DMA_RALINK
tristate "RALINK DMA support"
depends on RALINK && !SOC_RT288X
+   depends on DMADEVICES
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
 
-- 
2.25.1



[PATCH] MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA

2020-11-02 Thread Necip Fazil Yildiran
When BCM47XX_BCMA is enabled and BCMA_DRIVER_PCI is disabled, it results
in the following Kbuild warning:

WARNING: unmet direct dependencies detected for BCMA_DRIVER_PCI_HOSTMODE
  Depends on [n]: MIPS [=y] && BCMA_DRIVER_PCI [=n] && PCI_DRIVERS_LEGACY [=y] 
&& BCMA [=y]=y
  Selected by [y]:
  - BCM47XX_BCMA [=y] && BCM47XX [=y] && PCI [=y]

The reason is that BCM47XX_BCMA selects BCMA_DRIVER_PCI_HOSTMODE without
depending on or selecting BCMA_DRIVER_PCI while BCMA_DRIVER_PCI_HOSTMODE
depends on BCMA_DRIVER_PCI. This can also fail building the kernel.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Fixes: c1d1c5d4213e ("bcm47xx: add support for bcma bus")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=209879
Signed-off-by: Necip Fazil Yildiran 
---
 arch/mips/bcm47xx/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/bcm47xx/Kconfig b/arch/mips/bcm47xx/Kconfig
index 6889f74e06f5..490bb6da74b7 100644
--- a/arch/mips/bcm47xx/Kconfig
+++ b/arch/mips/bcm47xx/Kconfig
@@ -27,6 +27,7 @@ config BCM47XX_BCMA
select BCMA
select BCMA_HOST_SOC
select BCMA_DRIVER_MIPS
+   select BCMA_DRIVER_PCI if PCI
select BCMA_DRIVER_PCI_HOSTMODE if PCI
select BCMA_DRIVER_GPIO
default y
-- 
2.25.1



[PATCH] Input: touchscreen: fix kconfig dependency bug for TOUCHSCREEN_ADC

2020-11-02 Thread Necip Fazil Yildiran
When TOUCHSCREEN_ADC is enabled and IIO_BUFFER is disabled, it results
in the following Kbuild warning:

WARNING: unmet direct dependencies detected for IIO_BUFFER_CB
  Depends on [n]: IIO [=y] && IIO_BUFFER [=n]
  Selected by [y]:
  - TOUCHSCREEN_ADC [=y] && !UML && INPUT [=y] && INPUT_TOUCHSCREEN [=y] && IIO 
[=y]

The reason is that TOUCHSCREEN_ADC selects IIO_BUFFER_CB without depending
on or selecting IIO_BUFFER while IIO_BUFFER_CB depends on IIO_BUFFER. This
can also fail building the kernel.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Fixes: aa132ffb6b0a ("input: touchscreen: resistive-adc-touch: add generic 
resistive ADC touchscreen")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=209881
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/input/touchscreen/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/input/touchscreen/Kconfig 
b/drivers/input/touchscreen/Kconfig
index f012fe746df0..cc18f54ea887 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -96,6 +96,7 @@ config TOUCHSCREEN_AD7879_SPI
 config TOUCHSCREEN_ADC
tristate "Generic ADC based resistive touchscreen"
depends on IIO
+   select IIO_BUFFER
select IIO_BUFFER_CB
help
  Say Y here if you want to use the generic ADC
-- 
2.25.1



[PATCH] iio: light: fix kconfig dependency bug for VCNL4035

2020-11-02 Thread Necip Fazil Yildiran
When VCNL4035 is enabled and IIO_BUFFER is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for IIO_TRIGGERED_BUFFER
  Depends on [n]: IIO [=y] && IIO_BUFFER [=n]
  Selected by [y]:
  - VCNL4035 [=y] && IIO [=y] && I2C [=y]

The reason is that VCNL4035 selects IIO_TRIGGERED_BUFFER without depending
on or selecting IIO_BUFFER while IIO_TRIGGERED_BUFFER depends on
IIO_BUFFER. This can also fail building the kernel.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Fixes: 55707294c4eb ("iio: light: Add support for vishay vcnl4035")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=209883
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/iio/light/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/iio/light/Kconfig b/drivers/iio/light/Kconfig
index cade6dc0305b..33ad4dd0b5c7 100644
--- a/drivers/iio/light/Kconfig
+++ b/drivers/iio/light/Kconfig
@@ -544,6 +544,7 @@ config VCNL4000
 
 config VCNL4035
tristate "VCNL4035 combined ALS and proximity sensor"
+   select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
select REGMAP_I2C
depends on I2C
-- 
2.25.1



[PATCH] sparc64: fix kconfig dependency bug for COMPAT

2020-11-02 Thread Necip Fazil Yildiran
When COMPAT is enabled and BINFMT_ELF is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for COMPAT_BINFMT_ELF
  Depends on [n]: COMPAT [=y] && BINFMT_ELF [=n]
  Selected by [y]:
  - COMPAT [=y] && SPARC64 [=y]

The reason is that COMPAT selects COMPAT_BINFMT_ELF without depending on
or selecting BINFMT_ELF while COMPAT_BINFMT_ELF depends on BINFMT_ELF.
This can also fail building the kernel as demonstrated in a bug report.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=209885
Signed-off-by: Necip Fazil Yildiran 
---
 arch/sparc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index a6ca135442f9..22df5f0beed5 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -496,6 +496,7 @@ config COMPAT
bool
depends on SPARC64
default y
+   select BINFMT_ELF
select COMPAT_BINFMT_ELF
select HAVE_UID16
select ARCH_WANT_OLD_COMPAT_IPC
-- 
2.25.1



[PATCH] net: wireless: fix unmet direct dependendices config warning when !CRYPTO

2020-09-09 Thread Necip Fazil Yildiran
When LIB80211_CRYPT_CCMP is enabled and CRYPTO is disabled, it results in unmet
direct dependencies config warning. The reason is that LIB80211_CRYPT_CCMP
selects CRYPTO_AES and CRYPTO_CCM, which are subordinate to CRYPTO. This is
reproducible with CRYPTO disabled and R8188EU enabled, where R8188EU selects
LIB80211_CRYPT_CCMP but does not select or depend on CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: a11e2f85481c ("lib80211: use crypto API ccm(aes) transform for CCMP 
processing")
Signed-off-by: Necip Fazil Yildiran 
---
 net/wireless/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index faf74850a1b5..27026f587fa6 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -217,6 +217,7 @@ config LIB80211_CRYPT_WEP
 
 config LIB80211_CRYPT_CCMP
tristate
+   select CRYPTO
select CRYPTO_AES
select CRYPTO_CCM
 
-- 
2.25.1



[PATCH] MIPS: remove the obsolete RM7000 extended interrupts handler

2020-09-12 Thread Necip Fazil Yildiran
IRQ_CPU_RM7K has been a non-visible config selected nowhere since
PMC-Sierra Yosemite support has been removed with commit bdf20507da11
("MIPS: PMC-Sierra Yosemite: Remove support."). By the same token, the
handler for RM7000 extended interrupts has been obsolete.

Remove the obsolete code.

Signed-off-by: Necip Fazil Yildiran 
---
 arch/mips/Kconfig|  3 --
 arch/mips/include/asm/irq_cpu.h  |  2 --
 arch/mips/include/asm/mach-generic/irq.h |  6 
 arch/mips/kernel/Makefile|  1 -
 arch/mips/kernel/irq-rm7000.c| 45 
 5 files changed, 57 deletions(-)
 delete mode 100644 arch/mips/kernel/irq-rm7000.c

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index c95fa3a2484c..93ad690e1dd0 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1242,9 +1242,6 @@ config SYS_SUPPORTS_HUGETLBFS
 config MIPS_HUGE_TLB_SUPPORT
def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
 
-config IRQ_CPU_RM7K
-   bool
-
 config IRQ_MSP_SLP
bool
 
diff --git a/arch/mips/include/asm/irq_cpu.h b/arch/mips/include/asm/irq_cpu.h
index 8d321180b5c2..83d7331ab215 100644
--- a/arch/mips/include/asm/irq_cpu.h
+++ b/arch/mips/include/asm/irq_cpu.h
@@ -10,8 +10,6 @@
 #define _ASM_IRQ_CPU_H
 
 extern void mips_cpu_irq_init(void);
-extern void rm7k_cpu_irq_init(void);
-extern void rm9k_cpu_irq_init(void);
 
 #ifdef CONFIG_IRQ_DOMAIN
 struct device_node;
diff --git a/arch/mips/include/asm/mach-generic/irq.h 
b/arch/mips/include/asm/mach-generic/irq.h
index 72ac2c202c55..ac711b0d6225 100644
--- a/arch/mips/include/asm/mach-generic/irq.h
+++ b/arch/mips/include/asm/mach-generic/irq.h
@@ -28,12 +28,6 @@
 #endif /* CONFIG_I8259 */
 #endif
 
-#ifdef CONFIG_IRQ_CPU_RM7K
-#ifndef RM7K_CPU_IRQ_BASE
-#define RM7K_CPU_IRQ_BASE (MIPS_CPU_IRQ_BASE+8)
-#endif
-#endif
-
 #endif /* CONFIG_IRQ_MIPS_CPU */
 
 #endif /* __ASM_MACH_GENERIC_IRQ_H */
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index 13a26d254829..31b827273ed3 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -64,7 +64,6 @@ obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o
 obj-$(CONFIG_MIPS_VPE_APSP_API_CMP) += rtlx-cmp.o
 obj-$(CONFIG_MIPS_VPE_APSP_API_MT) += rtlx-mt.o
 
-obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o
 obj-$(CONFIG_MIPS_MSC) += irq-msc01.o
 obj-$(CONFIG_IRQ_TXX9) += irq_txx9.o
 obj-$(CONFIG_IRQ_GT641XX)  += irq-gt641xx.o
diff --git a/arch/mips/kernel/irq-rm7000.c b/arch/mips/kernel/irq-rm7000.c
deleted file mode 100644
index e1a497f639d7..
--- a/arch/mips/kernel/irq-rm7000.c
+++ /dev/null
@@ -1,45 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * Copyright (C) 2003 Ralf Baechle
- *
- * Handler for RM7000 extended interrupts.  These are a non-standard
- * feature so we handle them separately from standard interrupts.
- */
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-
-static inline void unmask_rm7k_irq(struct irq_data *d)
-{
-   set_c0_intcontrol(0x100 << (d->irq - RM7K_CPU_IRQ_BASE));
-}
-
-static inline void mask_rm7k_irq(struct irq_data *d)
-{
-   clear_c0_intcontrol(0x100 << (d->irq - RM7K_CPU_IRQ_BASE));
-}
-
-static struct irq_chip rm7k_irq_controller = {
-   .name = "RM7000",
-   .irq_ack = mask_rm7k_irq,
-   .irq_mask = mask_rm7k_irq,
-   .irq_mask_ack = mask_rm7k_irq,
-   .irq_unmask = unmask_rm7k_irq,
-   .irq_eoi = unmask_rm7k_irq
-};
-
-void __init rm7k_cpu_irq_init(void)
-{
-   int base = RM7K_CPU_IRQ_BASE;
-   int i;
-
-   clear_c0_intcontrol(0x0f00);/* Mask all */
-
-   for (i = base; i < base + 4; i++)
-   irq_set_chip_and_handler(i, &rm7k_irq_controller,
-handle_percpu_irq);
-}
-- 
2.25.1



[PATCH] arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER

2020-09-14 Thread Necip Fazil Yildiran
When ARC_SOC_HSDK is enabled and RESET_CONTROLLER is disabled, it results
in the following Kbuild warning:

WARNING: unmet direct dependencies detected for RESET_HSDK
  Depends on [n]: RESET_CONTROLLER [=n] && HAS_IOMEM [=y] && (ARC_SOC_HSDK [=y] 
|| COMPILE_TEST [=n])
  Selected by [y]:
  - ARC_SOC_HSDK [=y] && ISA_ARCV2 [=y]

The reason is that ARC_SOC_HSDK selects RESET_HSDK without depending on or
selecting RESET_CONTROLLER while RESET_HSDK is subordinate to
RESET_CONTROLLER.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: a528629dfd3b ("ARC: [plat-hsdk] select CONFIG_RESET_HSDK from Kconfig")
Signed-off-by: Necip Fazil Yildiran 
---
 arch/arc/plat-hsdk/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arc/plat-hsdk/Kconfig b/arch/arc/plat-hsdk/Kconfig
index ce8101834518..6b5c54576f54 100644
--- a/arch/arc/plat-hsdk/Kconfig
+++ b/arch/arc/plat-hsdk/Kconfig
@@ -8,5 +8,6 @@ menuconfig ARC_SOC_HSDK
select ARC_HAS_ACCL_REGS
select ARC_IRQ_NO_AUTOSAVE
select CLK_HSDK
+   select RESET_CONTROLLER
select RESET_HSDK
select HAVE_PCI
-- 
2.25.1



[PATCH] ARM: davinci: fix kconfig dependency warning when !PINCTRL

2020-09-14 Thread Necip Fazil Yildiran
When ARCH_DAVINCI is enabled and PINCTRL is disabled, it results
in the following Kbuild warning:

WARNING: unmet direct dependencies detected for PINCTRL_SINGLE
  Depends on [n]: PINCTRL [=n] && OF [=y] && HAS_IOMEM [=y]
  Selected by [y]:
  - ARCH_DAVINCI [=y] && ARCH_MULTI_V5 [=y]

The reason is that ARCH_DAVINCI selects PINCTRL_SINGLE without depending on
or selecting PINCTRL while PINCTRL_SINGLE is subordinate to PINCTRL.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: f962396ce292 ("ARM: davinci: support multiplatform build for ARM v5")
Signed-off-by: Necip Fazil Yildiran 
---
 arch/arm/mach-davinci/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index f56ff8c24043..e0cbcda6f087 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -11,6 +11,7 @@ menuconfig ARCH_DAVINCI
select REGMAP_MMIO
select RESET_CONTROLLER
select HAVE_IDE
+   select PINCTRL
select PINCTRL_SINGLE
 
 if ARCH_DAVINCI
-- 
2.25.1



[PATCH] ARM: davinci: fix kconfig dependency warning when !GPIOLIB

2020-09-14 Thread Necip Fazil Yildiran
When MACH_DAVINCI_DA830_EVM is enabled and GPIOLIB is disabled, it results
in the following Kbuild warning:

WARNING: unmet direct dependencies detected for GPIO_PCF857X
  Depends on [n]: GPIOLIB [=n] && I2C [=y]
  Selected by [y]:
  - MACH_DAVINCI_DA830_EVM [=y] && ARCH_DAVINCI [=y] && ARCH_DAVINCI_DA830 [=y] 
&& I2C [=y]

The reason is that MACH_DAVINCI_DA830_EVM selects GPIO_PCF857X without
depending on or selecting GPIOLIB while GPIO_PCF857X is subordinate to
GPIOLIB.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: 77316f057526 ("davinci: DA830/OMAP-L137 EVM: use runtime detection for 
UI card")
Signed-off-by: Necip Fazil Yildiran 
---
 arch/arm/mach-davinci/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index e0cbcda6f087..3a6307d85828 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -130,6 +130,7 @@ config MACH_DAVINCI_DA830_EVM
bool "TI DA830/OMAP-L137/AM17x Reference Platform"
default ARCH_DAVINCI_DA830
depends on ARCH_DAVINCI_DA830
+   select GPIOLIB if I2C
select GPIO_PCF857X if I2C
help
  Say Y here to select the TI DA830/OMAP-L137/AM17x Evaluation Module.
-- 
2.25.1



[PATCH] pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB

2020-09-14 Thread Necip Fazil Yildiran
When PINCTRL_BCM2835 is enabled and GPIOLIB is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for GPIOLIB_IRQCHIP
  Depends on [n]: GPIOLIB [=n]
  Selected by [y]:
  - PINCTRL_BCM2835 [=y] && PINCTRL [=y] && OF [=y] && (ARCH_BCM2835 [=n] || 
ARCH_BRCMSTB [=n] || COMPILE_TEST [=y])

The reason is that PINCTRL_BCM2835 selects GPIOLIB_IRQCHIP without
depending on or selecting GPIOLIB while GPIOLIB_IRQCHIP is subordinate to
GPIOLIB.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/pinctrl/bcm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pinctrl/bcm/Kconfig b/drivers/pinctrl/bcm/Kconfig
index dcf7df797af7..0ed14de0134c 100644
--- a/drivers/pinctrl/bcm/Kconfig
+++ b/drivers/pinctrl/bcm/Kconfig
@@ -23,6 +23,7 @@ config PINCTRL_BCM2835
select PINMUX
select PINCONF
select GENERIC_PINCONF
+   select GPIOLIB
select GPIOLIB_IRQCHIP
default ARCH_BCM2835 || ARCH_BRCMSTB
help
-- 
2.25.1



[PATCH] nvme: tcp: fix kconfig dependency warning when !CRYPTO

2020-09-14 Thread Necip Fazil Yildiran
When NVME_TCP is enabled and CRYPTO is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_CRC32C
  Depends on [n]: CRYPTO [=n]
  Selected by [y]:
  - NVME_TCP [=y] && INET [=y] && BLK_DEV_NVME [=y]

The reason is that NVME_TCP selects CRYPTO_CRC32C without depending on or
selecting CRYPTO while CRYPTO_CRC32C is subordinate to CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: 79fd751d61aa ("nvme: tcp: selects CRYPTO_CRC32C for nvme-tcp")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/nvme/host/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
index 3ed9786b88d8..a44d49d63968 100644
--- a/drivers/nvme/host/Kconfig
+++ b/drivers/nvme/host/Kconfig
@@ -73,6 +73,7 @@ config NVME_TCP
depends on INET
depends on BLK_DEV_NVME
select NVME_FABRICS
+   select CRYPTO
select CRYPTO_CRC32C
help
  This provides support for the NVMe over Fabrics protocol using
-- 
2.25.1



[PATCH] platform/x86: fix kconfig dependency warning for LG_LAPTOP

2020-09-15 Thread Necip Fazil Yildiran
When LG_LAPTOP is enabled and NEW_LEDS is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for LEDS_CLASS
  Depends on [n]: NEW_LEDS [=n]
  Selected by [y]:
  - LG_LAPTOP [=y] && X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI [=y] && 
ACPI_WMI [=y] && INPUT [=y]

The reason is that LG_LAPTOP selects LEDS_CLASS without depending on or
selecting NEW_LEDS while LEDS_CLASS is subordinate to NEW_LEDS.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: dbf0c5a6b1f8 ("platform/x86: Add LG Gram laptop special features driver")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/platform/x86/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 40219bba6801..81f6079d08e6 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1112,6 +1112,7 @@ config LG_LAPTOP
depends on ACPI_WMI
depends on INPUT
select INPUT_SPARSEKMAP
+   select NEW_LEDS
select LEDS_CLASS
help
 This driver adds support for hotkeys as well as control of keyboard
-- 
2.25.1



[PATCH] staging: rtl8192e: fix kconfig dependency warning for RTLLIB_CRYPTO_TKIP

2020-09-15 Thread Necip Fazil Yildiran
When RTLLIB_CRYPTO_TKIP is enabled and CRYPTO is disabled, it results in
the following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_ARC4
  Depends on [n]: CRYPTO [=n]
  Selected by [m]:
  - RTLLIB_CRYPTO_TKIP [=m] && STAGING [=y] && RTLLIB [=m]

WARNING: unmet direct dependencies detected for CRYPTO_MICHAEL_MIC
  Depends on [n]: CRYPTO [=n]
  Selected by [m]:
  - RTLLIB_CRYPTO_TKIP [=m] && STAGING [=y] && RTLLIB [=m]

The reason is that RTLLIB_CRYPTO_TKIP selects CRYPTO_ARC4 and
CRYPTO_MICHAEL_MIC without depending on or selecting CRYPTO while both
CRYPTO_ARC4 and CRYPTO_MICHAEL_MIC are subordinate to CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: e0e3daddad36 ("staging: r8192e: Fix possible error in configuration")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/staging/rtl8192e/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/rtl8192e/Kconfig b/drivers/staging/rtl8192e/Kconfig
index 1007eea6c8fc..fd237dda8be4 100644
--- a/drivers/staging/rtl8192e/Kconfig
+++ b/drivers/staging/rtl8192e/Kconfig
@@ -25,6 +25,7 @@ config RTLLIB_CRYPTO_CCMP
 config RTLLIB_CRYPTO_TKIP
tristate "Support for rtllib TKIP crypto"
depends on RTLLIB
+   select CRYPTO
select CRYPTO_ARC4
select CRYPTO_MICHAEL_MIC
default y
-- 
2.25.1



[PATCH] staging: rtl8192e: fix kconfig dependency warning for RTLLIB_CRYPTO_WEP

2020-09-15 Thread Necip Fazil Yildiran
When RTLLIB_CRYPTO_WEP is enabled and CRYPTO is disabled, it results in
the following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_ARC4
  Depends on [n]: CRYPTO [=n]
  Selected by [m]:
  - RTLLIB_CRYPTO_WEP [=m] && STAGING [=y] && RTLLIB [=m]

The reason is that RTLLIB_CRYPTO_WEP selects CRYPTO_ARC4 without depending
on or selecting CRYPTO while CRYPTO_ARC4 is subordinate to CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: e0e3daddad36 ("staging: r8192e: Fix possible error in configuration")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/staging/rtl8192e/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/rtl8192e/Kconfig b/drivers/staging/rtl8192e/Kconfig
index 1007eea6c8fc..5ac06061cfce 100644
--- a/drivers/staging/rtl8192e/Kconfig
+++ b/drivers/staging/rtl8192e/Kconfig
@@ -35,6 +35,7 @@ config RTLLIB_CRYPTO_TKIP
 
 config RTLLIB_CRYPTO_WEP
tristate "Support for rtllib WEP crypto"
+   select CRYPTO
select CRYPTO_ARC4
depends on RTLLIB
default y
-- 
2.25.1



[PATCH] staging: rtl8192e: fix kconfig dependency warning for RTLLIB_CRYPTO_CCMP

2020-09-15 Thread Necip Fazil Yildiran
When RTLLIB_CRYPTO_CCMP is enabled and CRYPTO is disabled, it results in
the following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_CCM
  Depends on [n]: CRYPTO [=n]
  Selected by [m]:
  - RTLLIB_CRYPTO_CCMP [=m] && STAGING [=y] && RTLLIB [=m]

WARNING: unmet direct dependencies detected for CRYPTO_AES
  Depends on [n]: CRYPTO [=n]
  Selected by [m]:
  - RTLLIB_CRYPTO_CCMP [=m] && STAGING [=y] && RTLLIB [=m]

The reason is that RTLLIB_CRYPTO_CCMP selects CRYPTO_CCM and CRYPTO_AES
without depending on or selecting CRYPTO while both CRYPTO_CCM and
CRYPTO_ARC4 are subordinate to CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: e0e3daddad36 ("staging: r8192e: Fix possible error in configuration")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/staging/rtl8192e/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/rtl8192e/Kconfig b/drivers/staging/rtl8192e/Kconfig
index 1007eea6c8fc..4f45a006f901 100644
--- a/drivers/staging/rtl8192e/Kconfig
+++ b/drivers/staging/rtl8192e/Kconfig
@@ -14,6 +14,7 @@ if RTLLIB
 config RTLLIB_CRYPTO_CCMP
tristate "Support for rtllib CCMP crypto"
depends on RTLLIB
+   select CRYPTO
select CRYPTO_AES
select CRYPTO_CCM
default y
-- 
2.25.1



[PATCH] IB/rxe: fix kconfig dependency warning for RDMA_RXE

2020-09-15 Thread Necip Fazil Yildiran
When RDMA_RXE is enabled and CRYPTO is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_CRC32
  Depends on [n]: CRYPTO [=n]
  Selected by [y]:
  - RDMA_RXE [=y] && (INFINIBAND_USER_ACCESS [=y] || !INFINIBAND_USER_ACCESS 
[=y]) && INET [=y] && PCI [=y] && INFINIBAND [=y] && (!64BIT || 
ARCH_DMA_ADDR_T_64BIT [=n])

The reason is that RDMA_RXE selects CRYPTO_CRC32 without depending on or
selecting CRYPTO while CRYPTO_CRC32 is subordinate to CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: 0812ed132178 ("IB/rxe: Change RDMA_RXE kconfig to use select")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/infiniband/sw/rxe/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/infiniband/sw/rxe/Kconfig 
b/drivers/infiniband/sw/rxe/Kconfig
index a0c6c7dfc181..e1f52710edfc 100644
--- a/drivers/infiniband/sw/rxe/Kconfig
+++ b/drivers/infiniband/sw/rxe/Kconfig
@@ -4,6 +4,7 @@ config RDMA_RXE
depends on INET && PCI && INFINIBAND
depends on !64BIT || ARCH_DMA_ADDR_T_64BIT
select NET_UDP_TUNNEL
+   select CRYPTO
select CRYPTO_CRC32
select DMA_VIRT_OPS
help
-- 
2.25.1



[PATCH] clk: bcm: fix kconfig dependency warning for CLK_BCM2711_DVP

2020-09-15 Thread Necip Fazil Yildiran
When CLK_BCM2711_DVP is enabled and RESET_CONTROLLER is disabled, it
results in the following Kbuild warning:

WARNING: unmet direct dependencies detected for RESET_SIMPLE
  Depends on [n]: RESET_CONTROLLER [=n]
  Selected by [y]:
  - CLK_BCM2711_DVP [=y] && (ARCH_BCM2835 [=n] || COMPILE_TEST [=y]) && 
COMMON_CLK [=y]

The reason is that CLK_BCM2711_DVP selects RESET_SIMPLE without depending
on or selecting RESET_CONTROLLER while RESET_SIMPLE is subordinate to
RESET_CONTROLLER.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: 1bc95972715a ("clk: bcm: Add BCM2711 DVP driver")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/clk/bcm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig
index 784f12c72365..ec738f74a026 100644
--- a/drivers/clk/bcm/Kconfig
+++ b/drivers/clk/bcm/Kconfig
@@ -5,6 +5,7 @@ config CLK_BCM2711_DVP
depends on ARCH_BCM2835 ||COMPILE_TEST
depends on COMMON_CLK
default ARCH_BCM2835
+   select RESET_CONTROLLER
select RESET_SIMPLE
help
  Enable common clock framework support for the Broadcom BCM2711
-- 
2.25.1



[PATCH] ocxl: fix kconfig dependency warning for OCXL

2020-09-18 Thread Necip Fazil Yildiran
When OCXL is enabled and HOTPLUG_PCI is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for HOTPLUG_PCI_POWERNV
  Depends on [n]: PCI [=y] && HOTPLUG_PCI [=n] && PPC_POWERNV [=y] && EEH [=y]
  Selected by [y]:
  - OCXL [=y] && PPC_POWERNV [=y] && PCI [=y] && EEH [=y]

The reason is that OCXL selects HOTPLUG_PCI_POWERNV without depending on
or selecting HOTPLUG_PCI while HOTPLUG_PCI_POWERNV is subordinate to
HOTPLUG_PCI.

HOTPLUG_PCI_POWERNV is a visible symbol with a set of dependencies.
Selecting it will lead to overlooking its other dependencies as well.

Let OCXL depend on HOTPLUG_PCI_POWERNV instead to avoid Kbuild issues.

Fixes: 49ce94b8677c ("ocxl: Add PCI hotplug dependency to Kconfig")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/misc/ocxl/Kconfig | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
index 6551007a066c..947294f6d7f4 100644
--- a/drivers/misc/ocxl/Kconfig
+++ b/drivers/misc/ocxl/Kconfig
@@ -9,9 +9,8 @@ config OCXL_BASE
 
 config OCXL
tristate "OpenCAPI coherent accelerator support"
-   depends on PPC_POWERNV && PCI && EEH
+   depends on PPC_POWERNV && PCI && EEH && HOTPLUG_PCI_POWERNV
select OCXL_BASE
-   select HOTPLUG_PCI_POWERNV
default m
help
  Select this option to enable the ocxl driver for Open
-- 
2.25.1



[PATCH] ASoC: fix kconfig dependency warnings for SND_SOC_WM8731

2020-09-18 Thread Necip Fazil Yildiran
SND_SOC_WM8731 was made visible and dependent on other symbols with commit
1291e14175e6 ("ASoC: codecs: Make OF supported CODECs visible in Kconfig").
To this respect, the symbols selecting SND_SOC_WM8731 turned out to be
overlooking its dependencies.

For example, enabling SND_SOC_DB1200 and disabling SND_SOC_I2C_AND_SPI
results in the following Kconfig warning since SND_SOC_DB1200 selects
SND_SOC_WM8731 but does not account for its dependencies:

WARNING: unmet direct dependencies detected for SND_SOC_WM8731
  Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && 
SND_SOC_I2C_AND_SPI [=n]
  Selected by [y]:
  - SND_SOC_DB1200 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && 
SND_SOC_AU1XPSC [=y]

Switch reverse dependencies on SND_SOC_WM8731 to normal dependencies.

Fixes: 1291e14175e6 ("ASoC: codecs: Make OF supported CODECs visible in 
Kconfig")
Signed-off-by: Necip Fazil Yildiran 
---
 sound/soc/atmel/Kconfig | 7 +++
 sound/soc/au1x/Kconfig  | 3 +--
 sound/soc/pxa/Kconfig   | 4 ++--
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 71f2d42188c4..abb1284835c0 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -44,8 +44,8 @@ config SND_AT91_SOC_SAM9G20_WM8731
tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation 
board"
depends on ARCH_AT91 || COMPILE_TEST
depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
+   depends on SND_SOC_WM8731
select SND_ATMEL_SOC_SSC_PDC
-   select SND_SOC_WM8731
help
  Say Y if you want to add support for SoC audio on WM8731-based
  AT91sam9g20 evaluation board.
@@ -64,8 +64,8 @@ config SND_AT91_SOC_SAM9X5_WM8731
tristate "SoC Audio support for WM8731-based at91sam9x5 board"
depends on ARCH_AT91 || COMPILE_TEST
depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
+   depends on SND_SOC_WM8731
select SND_ATMEL_SOC_SSC_DMA
-   select SND_SOC_WM8731
help
  Say Y if you want to add support for audio SoC on an
  at91sam9x5 based board that is using WM8731 codec.
@@ -110,8 +110,7 @@ config SND_ATMEL_SOC_I2S
 config SND_SOC_MIKROE_PROTO
tristate "Support for Mikroe-PROTO board"
depends on OF
-   depends on SND_SOC_I2C_AND_SPI
-   select SND_SOC_WM8731
+   depends on SND_SOC_I2C_AND_SPI && SND_SOC_WM8731
help
  Say Y or M if you want to add support for MikroElektronika PROTO Audio
  Board. This board contains the WM8731 codec, which can be configured
diff --git a/sound/soc/au1x/Kconfig b/sound/soc/au1x/Kconfig
index 38de7c0efbc7..749e59fddfcd 100644
--- a/sound/soc/au1x/Kconfig
+++ b/sound/soc/au1x/Kconfig
@@ -53,12 +53,11 @@ config SND_SOC_DB1000
 
 config SND_SOC_DB1200
tristate "DB1200/DB1300/DB1550 Audio support"
-   depends on SND_SOC_AU1XPSC
+   depends on SND_SOC_AU1XPSC && SND_SOC_WM8731
select SND_SOC_AU1XPSC_AC97
select SND_SOC_AC97_CODEC
select SND_SOC_WM9712
select SND_SOC_AU1XPSC_I2S
-   select SND_SOC_WM8731
help
  Select this option to enable audio (AC97 and I2S) on the
  Alchemy/AMD/RMI/NetLogic Db1200, Db1550 and Db1300 evaluation boards.
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig
index 0ac85eada75c..eeb1dde59468 100644
--- a/sound/soc/pxa/Kconfig
+++ b/sound/soc/pxa/Kconfig
@@ -44,8 +44,8 @@ config SND_MMP_SOC_SSPA
 config SND_PXA2XX_SOC_CORGI
tristate "SoC Audio support for Sharp Zaurus SL-C7x0"
depends on SND_PXA2XX_SOC && PXA_SHARP_C7xx && I2C
+   depends on SND_SOC_WM8731
select SND_PXA2XX_SOC_I2S
-   select SND_SOC_WM8731
help
  Say Y if you want to add support for SoC audio on Sharp
  Zaurus SL-C7x0 models (Corgi, Shepherd, Husky).
@@ -70,8 +70,8 @@ config SND_PXA2XX_SOC_Z2
 config SND_PXA2XX_SOC_POODLE
tristate "SoC Audio support for Poodle"
depends on SND_PXA2XX_SOC && MACH_POODLE && I2C
+   depends on SND_SOC_WM8731
select SND_PXA2XX_SOC_I2S
-   select SND_SOC_WM8731
help
  Say Y if you want to add support for SoC audio on Sharp
  Zaurus SL-5600 model (Poodle).
-- 
2.25.1



[PATCH] ASoC: cros_ec_codec: fix kconfig dependency warning for SND_SOC_CROS_EC_CODEC

2020-09-17 Thread Necip Fazil Yildiran
When SND_SOC_CROS_EC_CODEC is enabled and CRYPTO is disabled, it results
in the following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_LIB_SHA256
  Depends on [n]: CRYPTO [=n]
  Selected by [y]:
  - SND_SOC_CROS_EC_CODEC [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC 
[=y] && CROS_EC [=y]

The reason is that SND_SOC_CROS_EC_CODEC selects CRYPTO_LIB_SHA256 without
depending on or selecting CRYPTO while CRYPTO_LIB_SHA256 is subordinate to
CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: 93fa0af4790a ("ASoC: cros_ec_codec: switch to library API for SHA-256")
Signed-off-by: Necip Fazil Yildiran 
---
 sound/soc/codecs/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 946a70210f49..601ea45d3ea6 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -540,6 +540,7 @@ config SND_SOC_CQ0093VC
 config SND_SOC_CROS_EC_CODEC
tristate "codec driver for ChromeOS EC"
depends on CROS_EC
+   select CRYPTO
select CRYPTO_LIB_SHA256
help
  If you say yes here you will get support for the
-- 
2.25.1



[PATCH] sh: dma: fix kconfig dependency for G2_DMA

2020-09-17 Thread Necip Fazil Yildiran
When G2_DMA is enabled and SH_DMA is disabled, it results in the following
Kbuild warning:

WARNING: unmet direct dependencies detected for SH_DMA_API
  Depends on [n]: SH_DMA [=n]
  Selected by [y]:
  - G2_DMA [=y] && SH_DREAMCAST [=y]

The reason is that G2_DMA selects SH_DMA_API without depending on or
selecting SH_DMA while SH_DMA_API depends on SH_DMA.

When G2_DMA was first introduced with commit 40f49e7ed77f
("sh: dma: Make G2 DMA configurable."), this wasn't an issue since
SH_DMA_API didn't have such dependency, and this way was the only way to
enable it since SH_DMA_API was non-visible. However, later SH_DMA_API was
made visible and dependent on SH_DMA with commit d8902adcc1a9
("dmaengine: sh: Add Support SuperH DMA Engine driver").

Let G2_DMA depend on SH_DMA_API instead to avoid Kbuild issues.

Fixes: d8902adcc1a9 ("dmaengine: sh: Add Support SuperH DMA Engine driver")
Signed-off-by: Necip Fazil Yildiran 
---
 arch/sh/drivers/dma/Kconfig | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/sh/drivers/dma/Kconfig b/arch/sh/drivers/dma/Kconfig
index d0de378beefe..7d54f284ce10 100644
--- a/arch/sh/drivers/dma/Kconfig
+++ b/arch/sh/drivers/dma/Kconfig
@@ -63,8 +63,7 @@ config PVR2_DMA
 
 config G2_DMA
tristate "G2 Bus DMA support"
-   depends on SH_DREAMCAST
-   select SH_DMA_API
+   depends on SH_DREAMCAST && SH_DMA_API
help
  This enables support for the DMA controller for the Dreamcast's
  G2 bus. Drivers that want this will generally enable this on
-- 
2.25.1



[PATCH] net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC

2020-09-17 Thread Necip Fazil Yildiran
When IPV6_SEG6_HMAC is enabled and CRYPTO is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for CRYPTO_HMAC
  Depends on [n]: CRYPTO [=n]
  Selected by [y]:
  - IPV6_SEG6_HMAC [=y] && NET [=y] && INET [=y] && IPV6 [=y]

WARNING: unmet direct dependencies detected for CRYPTO_SHA1
  Depends on [n]: CRYPTO [=n]
  Selected by [y]:
  - IPV6_SEG6_HMAC [=y] && NET [=y] && INET [=y] && IPV6 [=y]

WARNING: unmet direct dependencies detected for CRYPTO_SHA256
  Depends on [n]: CRYPTO [=n]
  Selected by [y]:
  - IPV6_SEG6_HMAC [=y] && NET [=y] && INET [=y] && IPV6 [=y]

The reason is that IPV6_SEG6_HMAC selects CRYPTO_HMAC, CRYPTO_SHA1, and
CRYPTO_SHA256 without depending on or selecting CRYPTO while those configs
are subordinate to CRYPTO.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Fixes: bf355b8d2c30 ("ipv6: sr: add core files for SR HMAC support")
Signed-off-by: Necip Fazil Yildiran 
---
 net/ipv6/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig
index 76bff79d6fed..747f56e0c636 100644
--- a/net/ipv6/Kconfig
+++ b/net/ipv6/Kconfig
@@ -303,6 +303,7 @@ config IPV6_SEG6_LWTUNNEL
 config IPV6_SEG6_HMAC
bool "IPv6: Segment Routing HMAC support"
depends on IPV6
+   select CRYPTO
select CRYPTO_HMAC
select CRYPTO_SHA1
select CRYPTO_SHA256
-- 
2.25.1



[PATCH] platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP

2020-09-17 Thread Necip Fazil Yildiran
When FUJITSU_LAPTOP is enabled and NEW_LEDS is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for LEDS_CLASS
  Depends on [n]: NEW_LEDS [=n]
  Selected by [y]:
  - FUJITSU_LAPTOP [=y] && X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI [=y] 
&& INPUT [=y] && BACKLIGHT_CLASS_DEVICE [=y] && (ACPI_VIDEO [=n] || ACPI_VIDEO 
[=n]=n)

The reason is that FUJITSU_LAPTOP selects LEDS_CLASS without depending on
or selecting NEW_LEDS while LEDS_CLASS is subordinate to NEW_LEDS.

Honor the kconfig menu hierarchy to remove kconfig dependency warnings.

Reported-by: Hans de Goede 
Fixes: d89bcc83e709 ("platform/x86: fujitsu-laptop: select LEDS_CLASS")
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/platform/x86/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 40219bba6801..3cd2b99628ba 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -469,6 +469,7 @@ config FUJITSU_LAPTOP
depends on BACKLIGHT_CLASS_DEVICE
depends on ACPI_VIDEO || ACPI_VIDEO = n
select INPUT_SPARSEKMAP
+   select NEW_LEDS
select LEDS_CLASS
help
  This is a driver for laptops built by Fujitsu:
-- 
2.25.1



[PATCH] media: mantis: remove orphan mantis_core.c

2020-09-22 Thread Necip Fazil Yildiran
There is no Makefile rule to have drivers/media/pci/mantis/mantis_core.o
in build since the code overhaul with commit b3b961448f70
("V4L/DVB (13795): [Mantis/Hopper] Code overhaul, add Hopper devices into the 
PCI ID list").

It looks like drivers/media/pci/mantis/mantis_core.c is a leftover.

Remove the orphan code.

Fixes: b3b961448f70 ("V4L/DVB (13795): [Mantis/Hopper] Code overhaul, add 
Hopper devices into the PCI ID list").
Signed-off-by: Necip Fazil Yildiran 
---
 drivers/media/pci/mantis/mantis_ca.c   |   1 -
 drivers/media/pci/mantis/mantis_core.c | 200 -
 drivers/media/pci/mantis/mantis_core.h |   2 -
 3 files changed, 203 deletions(-)
 delete mode 100644 drivers/media/pci/mantis/mantis_core.c

diff --git a/drivers/media/pci/mantis/mantis_ca.c 
b/drivers/media/pci/mantis/mantis_ca.c
index f2baf5e5c921..0fad0a923e35 100644
--- a/drivers/media/pci/mantis/mantis_ca.c
+++ b/drivers/media/pci/mantis/mantis_ca.c
@@ -109,7 +109,6 @@ static int mantis_ts_control(struct dvb_ca_en50221 
*en50221, int slot)
struct mantis_pci *mantis = ca->ca_priv;
 
dprintk(MANTIS_DEBUG, 1, "Slot(%d): TS control", slot);
-/* mantis_set_direction(mantis, 1); */ /* Enable TS through CAM */
 
return 0;
 }
diff --git a/drivers/media/pci/mantis/mantis_core.c 
b/drivers/media/pci/mantis/mantis_core.c
deleted file mode 100644
index f303f68d4ef2..
--- a/drivers/media/pci/mantis/mantis_core.c
+++ /dev/null
@@ -1,200 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
-   Mantis PCI bridge driver
-
-   Copyright (C) Manu Abraham (abraham.m...@gmail.com)
-
-*/
-
-#include "mantis_common.h"
-#include "mantis_core.h"
-#include "mantis_vp1033.h"
-#include "mantis_vp1034.h"
-#include "mantis_vp1041.h"
-#include "mantis_vp2033.h"
-#include "mantis_vp2040.h"
-#include "mantis_vp3030.h"
-
-static int read_eeprom_byte(struct mantis_pci *mantis, u8 *data, u8 length)
-{
-   int err;
-   struct i2c_msg msg[] = {
-   {
-   .addr = 0x50,
-   .flags = 0,
-   .buf = data,
-   .len = 1
-   }, {
-   .addr = 0x50,
-   .flags = I2C_M_RD,
-   .buf = data,
-   .len = length
-   },
-   };
-
-   err = i2c_transfer(&mantis->adapter, msg, 2);
-   if (err < 0) {
-   dprintk(verbose, MANTIS_ERROR, 1,
-   "ERROR: i2c read: < err=%i d0=0x%02x d1=0x%02x >",
-   err, data[0], data[1]);
-
-   return err;
-   }
-
-   return 0;
-}
-
-static int get_mac_address(struct mantis_pci *mantis)
-{
-   int err;
-
-   mantis->mac_address[0] = 0x08;
-   err = read_eeprom_byte(mantis, &mantis->mac_address[0], 6);
-   if (err < 0) {
-   dprintk(verbose, MANTIS_ERROR, 1, "Mantis EEPROM read error");
-
-   return err;
-   }
-   dprintk(verbose, MANTIS_ERROR, 0,
-   "MAC Address=[%pM]\n", mantis->mac_address);
-
-   return 0;
-}
-
-#define MANTIS_MODEL_UNKNOWN   "UNKNOWN"
-#define MANTIS_DEV_UNKNOWN "UNKNOWN"
-
-struct mantis_hwconfig unknown_device = {
-   .model_name = MANTIS_MODEL_UNKNOWN,
-   .dev_type   = MANTIS_DEV_UNKNOWN,
-};
-
-static void mantis_load_config(struct mantis_pci *mantis)
-{
-   switch (mantis->subsystem_device) {
-   case MANTIS_VP_1033_DVB_S:  /* VP-1033 */
-   mantis->hwconfig = &vp1033_mantis_config;
-   break;
-   case MANTIS_VP_1034_DVB_S:  /* VP-1034 */
-   mantis->hwconfig = &vp1034_mantis_config;
-   break;
-   case MANTIS_VP_1041_DVB_S2: /* VP-1041 */
-   case TECHNISAT_SKYSTAR_HD2:
-   mantis->hwconfig = &vp1041_mantis_config;
-   break;
-   case MANTIS_VP_2033_DVB_C:  /* VP-2033 */
-   mantis->hwconfig = &vp2033_mantis_config;
-   break;
-   case MANTIS_VP_2040_DVB_C:  /* VP-2040 */
-   case CINERGY_C: /* VP-2040 clone */
-   case TECHNISAT_CABLESTAR_HD2:
-   mantis->hwconfig = &vp2040_mantis_config;
-   break;
-   case MANTIS_VP_3030_DVB_T:  /* VP-3030 */
-   mantis->hwconfig = &vp3030_mantis_config;
-   break;
-   default:
-   mantis->hwconfig = &unknown_device;
-   break;
-   }
-}
-
-int mantis_core_init(struct mantis_pci *mantis)
-{
-   int err = 0;
-
-   mantis_load_config(mantis);
-   dprintk(verbose, MANTIS_ERROR, 0, "found a %s PCI %s device on 
(%02x:%02x.%x),\n",
-   mantis-