Martin Kepplinger | 23 May 13:39 2016

[PATCH v3] input: tablet: add Pegasus Notetaker tablet driver

This adds a driver for the Pegasus Notetaker Pen. When connected,
this uses the Pen as an input tablet.

This device was sold in various different brandings, for example
	"Pegasus Mobile Notetaker M210",
	"Genie e-note The Notetaker",
	"Staedtler Digital ballpoint pen 990 01",
	"IRISnotes Express" or
	"NEWLink Digital Note Taker".

Here's an example, so that you know what we are talking about: seems to be a remaining official resource.

This device can also transfer saved (offline recorded handwritten) data and
there are userspace programs that do this, see
(Well, alternatively there are really fast scanners out there :)

It's *really* fun to use as an input tablet though! So let's support this
for everybody.

Signed-off-by: Martin Kepplinger <martink@...>
Any advice or objections?

I'm sure this would be used if available like this. It was a quite popular

I use it for quite some time and like it a lot. Only a one-line-fix is the diff
(Continue reading)

Sudip Mukherjee | 1 Apr 14:35 2016

[PATCH] s390: fix build failure

s390 defconfig and allmodconfig fails with the error:
kernel/seccomp.c: In function '__secure_computing_strict':
kernel/seccomp.c:526:3: error: implicit declaration of function

The retrieval of compat syscall numbers were moved into inline function
defined in asm-generic header but the asm-generic header was not being
used by s390.

Fixes: 5adddb612ca1 ("seccomp: Get compat syscalls from asm-generic header")
Cc: Matt Redfearn <matt.redfearn@...>
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@...>

Tested with s390 defconfig and allmodconfig build.
Build logs of next-20160401 are at: (allmodconfig)
and (defconfig)

 arch/s390/include/asm/seccomp.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/s390/include/asm/seccomp.h b/arch/s390/include/asm/seccomp.h
index 781a9cf..e10f833 100644
--- a/arch/s390/include/asm/seccomp.h
+++ b/arch/s390/include/asm/seccomp.h
 <at>  <at>  -13,4 +13,6  <at>  <at> 
 #define __NR_seccomp_exit_32	__NR_exit
 #define __NR_seccomp_sigreturn_32 __NR_sigreturn
(Continue reading)

Sudip Mukherjee | 4 Mar 16:54 2016

[PATCH] v4l2-mc.h: fix build failure

We are getting build failure with arm for configurations like
exynos_defconfig, at91_dt_defconfig where MEDIA_CONTROLLER is not
While adding stubs static inline was missed and an extra ';' was added.

Fixes: a77bf7048add ("v4l2-mc.h: Add stubs for the V4L2 PM/pipeline routines")
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@...>

build logs at:

 include/media/v4l2-mc.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/media/v4l2-mc.h b/include/media/v4l2-mc.h
index 96cfca9..6096e63 100644
--- a/include/media/v4l2-mc.h
+++ b/include/media/v4l2-mc.h
 <at>  <at>  -229,13 +229,13  <at>  <at>  static inline int v4l_vb2q_enable_media_source(struct vb2_queue *q)
 	return 0;

-int v4l2_pipeline_pm_use(struct media_entity *entity, int use);
+static inline int v4l2_pipeline_pm_use(struct media_entity *entity, int use)
 	return 0;
(Continue reading)

Sudip Mukherjee | 3 Mar 13:51 2016

[PATCH] iio: adc: imx25-gcq: fix do_div

We are getting build failure with tilepro allmodconfig with the error:

drivers/iio/adc/fsl-imx25-gcq.c:236:4: note: in expansion of macro 'do_div'
do_div(priv->channel_vref_mv[reg], 1000);

include/asm-generic/div64.h:198:17: note: expected 'uint64_t *
	{aka long long unsigned int *}' but argument is of type 'u32 *
	{aka unsigned int *}'

Create a temporary variable of type u64 and use that in do_div.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@...>

tilepro allmodconfig build log is at:

 drivers/iio/adc/fsl-imx25-gcq.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/adc/fsl-imx25-gcq.c b/drivers/iio/adc/fsl-imx25-gcq.c
index 2fd1927..e0636d4 100644
--- a/drivers/iio/adc/fsl-imx25-gcq.c
+++ b/drivers/iio/adc/fsl-imx25-gcq.c
 <at>  <at>  -174,6 +174,7  <at>  <at>  static int mx25_gcq_setup_cfgs(struct platform_device *pdev,
 	struct device *dev = &pdev->dev;
 	unsigned int refp_used[4] = {};
 	int ret, i;
+	u64 temp;
(Continue reading)

Sudip Mukherjee | 1 Mar 13:46 2016

[PATCH] rtc: rtc-generic: use correct header file

The allmodconfig build of m32r fails with errors like:

In file included from drivers/rtc/rtc-generic.c:12:0:
arch/m32r/include/asm/rtc.h:46:8: error: redefinition of 'struct rtc_time'

drivers/rtc/rtc-generic.c: In function 'generic_get_time':
drivers/rtc/rtc-generic.c:16:21: error: implicit declaration of function 'get_rtc_time'

drivers/rtc/rtc-generic.c:18:12: error: 'RTC_BATT_BAD' undeclared

drivers/rtc/rtc-generic.c: In function 'generic_set_time':
drivers/rtc/rtc-generic.c:26:6: error: implicit declaration of function 'set_rtc_time'

Apart from m32r, many other arch like xtensa, sparc are failing with:
drivers/rtc/rtc-generic.c:12:21: fatal error: asm/rtc.h: No such file or directory

Other rtc drivers are using asm-generic/rtc.h, so use it here.

Fixes: 2a32c792f1c9 ("rtc: enable COMPILE_TEST")
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@...>

m32r allmodconfig build log is at:

failure with sparc and xtensa needs more work as after this patch also
they fail with error about missing file "mc146818rtc.h".

 drivers/rtc/rtc-generic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
(Continue reading)

Sudip Mukherjee | 29 Feb 15:25 2016

[PATCH] ASoC: qcom: add dependency on HAS_DMA

m32r allmodconfig build is failing with the error:
ERROR: "bad_dma_ops" [sound/soc/qcom/snd-soc-lpass-platform.ko] undefined!
ERROR: "dma_common_mmap" [sound/soc/qcom/snd-soc-lpass-platform.ko] undefined!

lpass-platform uses DMA so add HAS_DMA in the Kconfig. Also add the same
for SND_SOC_LPASS_IPQ806X and SND_SOC_LPASS_APQ8016 as they will also

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@...>

m32r allmodconfig build for next-20160229 is at:

 sound/soc/qcom/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
index 3cc252e..1e7a783 100644
--- a/sound/soc/qcom/Kconfig
+++ b/sound/soc/qcom/Kconfig
 <at>  <at>  -11,15 +11,18  <at>  <at>  config SND_SOC_LPASS_CPU

+	depends on HAS_DMA
 	select REGMAP_MMIO

(Continue reading)

Sudip Mukherjee | 13 Feb 15:03 2016

[PATCH v2] net: phy: spi_ks8995: add dependency on GPIO

The builds of allmodconfig of s390, m68k, tilegx, tilepro is failing
with the error:
 drivers/net/phy/spi_ks8995.c:477:3: error: implicit declaration of function 'gpiod_set_value'
 drivers/net/phy/spi_ks8995.c:477:19: error: implicit declaration of function 'gpio_to_desc'

GPIO is now used to reset the switch so we should have a dependency on
GPIOLIB. While adding the dependency also add COMPILE_TEST so that we
can build test it.

Fixes: cd6f288cbaab ("net: phy: spi_ks8995: add support for resetting switch using GPIO")
Cc: Helmut Buchsbaum <helmut.buchsbaum@...>
Signed-off-by: Sudip Mukherjee <sudip@...>

v2: added COMPILE_TEST and gpio/consumer.h

 drivers/net/phy/Kconfig      | 1 +
 drivers/net/phy/spi_ks8995.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index f0a7702..186f202 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
 <at>  <at>  -262,3 +262,4  <at>  <at>  endif # PHYLIB
 config MICREL_KS8995MA
 	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
 	depends on SPI
+	depends on GPIOLIB || COMPILE_TEST
diff --git a/drivers/net/phy/spi_ks8995.c b/drivers/net/phy/spi_ks8995.c
(Continue reading)

Sudip Mukherjee | 12 Feb 11:53 2016

[PATCH] [media] media: ti-vpe: add dependency of HAS_DMA

The build of m32r allmodconfig fails with the error:
 drivers/media/v4l2-core/videobuf2-dma-contig.c:492:28: error: implicit
	declaration of function 'dma_get_cache_alignment'

The build of videobuf2-dma-contig.c depends on HAS_DMA and it is
correctly mentioned in the Kconfig but the symbol VIDEO_TI_CAL also
selects VIDEOBUF2_DMA_CONTIG, so it is trying to compile
videobuf2-dma-contig.c even though HAS_DMA is not defined.

Fixes: 343e89a792a5 ("[media] media: ti-vpe: Add CAL v4l2 camera capture driver")
Cc: Benoit Parrot <bparrot@...>
Cc: Hans Verkuil <hans.verkuil@...>
Signed-off-by: Sudip Mukherjee <sudip@...>

build log of next-20160212 is at:

 drivers/media/platform/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index fd4fcd5..16dbe3d 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
 <at>  <at>  -124,6 +124,7  <at>  <at>  config VIDEO_TI_CAL
 	tristate "TI CAL (Camera Adaptation Layer) driver"
 	depends on SOC_DRA7XX || COMPILE_TEST
+	depends on HAS_DMA
(Continue reading)

Sudip Mukherjee | 10 Feb 11:50 2016

[PATCH] blackfin: define dummy pgprot_writecombine for !MMU

blackfin allmodconfig build fails with the error:

../sound/core/pcm_native.c: In function 'snd_pcm_lib_default_mmap':
../sound/core/pcm_native.c:3386:24: error: implicit declaration of function
'pgprot_writecombine' [-Werror=implicit-function-declaration]
   area->vm_page_prot = pgprot_writecombine(area->vm_page_prot);
../sound/core/pcm_native.c:3386:22: error: incompatible types when assigning to type 'pgprot_t {aka
struct <anonymous>}' from type 'int'
   area->vm_page_prot = pgprot_writecombine(area->vm_page_prot);

When !MMU, asm-generic will not define default pgprot_writecombine, so
blackfin needs to define it by itself.

Signed-off-by: Sudip Mukherjee <sudip@...>

Build log is at

The patch idea is from:
65b9ab888cd7 ("arch/c6x/include/asm/pgtable.h: define dummy pgprot_writecombine for !MMU")

 arch/blackfin/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/blackfin/include/asm/pgtable.h b/arch/blackfin/include/asm/pgtable.h
index b88a155..c1ee3d6 100644
--- a/arch/blackfin/include/asm/pgtable.h
(Continue reading)

Sudip Mukherjee | 10 Feb 10:45 2016

[PATCH] Input: colibri-vf50-ts: fix implicit declaration

The build of m32r allmodconfig fails with the error:
drivers/input/touchscreen/colibri-vf50-ts.c:302:10: error: implicit
	declaration of function 'of_property_read_u32'

of_property_read_u32() is defined in linux/of.h which was not included.	

Fixes: 1261d013daea ("Input: Allow compile test of Goodix and Colibri VF50 if !GPIOLIB")
Cc: Geert Uytterhoeven <geert@...>
Signed-off-by: Sudip Mukherjee <sudip@...>
 drivers/input/touchscreen/colibri-vf50-ts.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/input/touchscreen/colibri-vf50-ts.c b/drivers/input/touchscreen/colibri-vf50-ts.c
index 5d4903a..594c096 100644
--- a/drivers/input/touchscreen/colibri-vf50-ts.c
+++ b/drivers/input/touchscreen/colibri-vf50-ts.c
 <at>  <at>  -25,6 +25,7  <at>  <at> 
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 #include <linux/types.h>
+#include <linux/of.h>

 #define DRIVER_NAME			"colibri-vf50-ts"
 #define DRV_VERSION			"1.0"


Guenter Roeck | 9 Feb 16:06 2016

[PATCH] serial: clps711x: Fix bad usage of IS_ERR_VALUE

IS_ERR_VALUE() assumes that its parameter is an unsigned long.
It can not be used to check if an unsigned int reflects an error.
Doing so can result in the following build warning.

drivers/tty/serial/clps711x.c: In function ‘uart_clps711x_probe’:
include/linux/err.h:21:38: warning:
	comparison is always false due to limited range of data type
drivers/tty/serial/clps711x.c:471:6: note: in expansion of macro ‘IS_ERR_VALUE’

If that warning is seen, an error return from platform_get_irq() is missed.

Use a temporary variable to check for errors from platform_get_irq().
Also don't use IS_ERR_VALUE() to check if an integer variable is < 0.
The variable can be checked directly in that case.

Signed-off-by: Guenter Roeck <linux@...>
 drivers/tty/serial/clps711x.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/tty/serial/clps711x.c b/drivers/tty/serial/clps711x.c
index b3a4e0cdddaa..5beafd2d2218 100644
--- a/drivers/tty/serial/clps711x.c
+++ b/drivers/tty/serial/clps711x.c
 <at>  <at>  -450,6 +450,7  <at>  <at>  static int uart_clps711x_probe(struct platform_device *pdev)
 	struct clps711x_port *s;
 	struct resource *res;
 	struct clk *uart_clk;
+	int irq;

(Continue reading)