Re: [RFC][PATCH] mn88472: add support for the mn88473 demod

2014-12-21 Thread Antti Palosaari

Moikka!

On 12/21/2014 02:06 AM, Benjamin Larsson wrote:

This is what mn88473 support in the mn88472 demod driver could look
like. The code is untested but will look similar in the final version.
It is also possible to let the driver figure out the demod version from
the 0xff register. Then the users would not need to set that parameter.
Same goes to the xtal parameter.

So does the mn88473 support look ok and should the driver figure out
what demod is connected ?



You patch looks rather good and these drivers should be merged to one if 
possible, lets say registers are 80% same or something like that. Looks 
like those are.


About detecting the chip type. Prefer always detecting automatically be 
reading the chip id.


Second best way is to use device ID for that:

static const struct i2c_device_id mn88472_id_table[] = {
{mn88472, 0},
{mn88473, 1},
{}


Put the xtal/clock freq to config struct or use clock framework for it 
(maybe too heavy solution).


regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] media: radio: wl128x: fmdrv_rx.c: Remove unused function

2014-12-21 Thread Rickard Strandqvist
Remove the function fm_rx_get_rds_system() that is not used anywhere.

This was partially found by using a static code analysis program called 
cppcheck.

Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se
---
 drivers/media/radio/wl128x/fmdrv_rx.c |   16 
 drivers/media/radio/wl128x/fmdrv_rx.h |1 -
 2 files changed, 17 deletions(-)

diff --git a/drivers/media/radio/wl128x/fmdrv_rx.c 
b/drivers/media/radio/wl128x/fmdrv_rx.c
index 09632cb..cfaeb24 100644
--- a/drivers/media/radio/wl128x/fmdrv_rx.c
+++ b/drivers/media/radio/wl128x/fmdrv_rx.c
@@ -785,22 +785,6 @@ int fm_rx_set_rds_system(struct fmdev *fmdev, u8 rds_mode)
return 0;
 }
 
-/* Returns current RDS operation mode */
-int fm_rx_get_rds_system(struct fmdev *fmdev, u8 *rds_mode)
-{
-   if (fmdev-curr_fmmode != FM_MODE_RX)
-   return -EPERM;
-
-   if (rds_mode == NULL) {
-   fmerr(Invalid memory\n);
-   return -ENOMEM;
-   }
-
-   *rds_mode = fmdev-rx.rds_mode;
-
-   return 0;
-}
-
 /* Configures Alternate Frequency switch mode */
 int fm_rx_set_af_switch(struct fmdev *fmdev, u8 af_mode)
 {
diff --git a/drivers/media/radio/wl128x/fmdrv_rx.h 
b/drivers/media/radio/wl128x/fmdrv_rx.h
index 32add81..2392218 100644
--- a/drivers/media/radio/wl128x/fmdrv_rx.h
+++ b/drivers/media/radio/wl128x/fmdrv_rx.h
@@ -40,7 +40,6 @@ void fm_rx_reset_station_info(struct fmdev *);
 int fm_rx_seek(struct fmdev *, u32, u32, u32);
 
 int fm_rx_get_rds_mode(struct fmdev *, u8 *);
-int fm_rx_get_rds_system(struct fmdev *, u8 *);
 int fm_rx_get_mute_mode(struct fmdev *, u8 *);
 int fm_rx_get_volume(struct fmdev *, u16 *);
 int fm_rx_get_band_freq_range(struct fmdev *,
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ERROR: usb_kill_urb [drivers/staging/media/tlg2300/poseidon.ko] undefined!

2014-12-21 Thread kbuild test robot
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   97bf6af1f928216fd6c5a66e8a57bfa95a659672
commit: ea2e813e8cc3492c951b9895724fd47187e04a6f [media] tlg2300: move to 
staging in preparation for removal
date:   5 days ago
config: x86_64-randconfig-a0-12212206 (attached as .config)
reproduce:
  git checkout ea2e813e8cc3492c951b9895724fd47187e04a6f
  # save the attached .config to linux build tree
  make ARCH=x86_64 

All error/warnings:

 ERROR: usb_kill_urb [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_deregister [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_set_interface [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_control_msg [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_free_coherent [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_submit_urb [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_get_dev [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_bulk_msg [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_put_dev [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_get_intf [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_register_driver [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_alloc_coherent [drivers/staging/media/tlg2300/poseidon.ko] 
 undefined!
 ERROR: usb_free_urb [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_alloc_urb [drivers/staging/media/tlg2300/poseidon.ko] undefined!
 ERROR: usb_put_intf [drivers/staging/media/tlg2300/poseidon.ko] undefined!

---
0-DAY kernel test infrastructureOpen Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.18.0-rc4 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT=elf64-x86-64
CONFIG_ARCH_DEFCONFIG=arch/x86/configs/x86_64_defconfig
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS=-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME=(none)
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_FHANDLE is not set
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# 

[PATCH] media: pci: solo6x10: solo6x10-enc.c: Remove unused function

2014-12-21 Thread Rickard Strandqvist
Remove the function solo_s_jpeg_qp() that is not used anywhere.

This was partially found by using a static code analysis program called 
cppcheck.

Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se
---
 drivers/media/pci/solo6x10/solo6x10-enc.c |   35 -
 drivers/media/pci/solo6x10/solo6x10.h |2 --
 2 files changed, 37 deletions(-)

diff --git a/drivers/media/pci/solo6x10/solo6x10-enc.c 
b/drivers/media/pci/solo6x10/solo6x10-enc.c
index d19c0ae..6b589b8 100644
--- a/drivers/media/pci/solo6x10/solo6x10-enc.c
+++ b/drivers/media/pci/solo6x10/solo6x10-enc.c
@@ -175,41 +175,6 @@ out:
return 0;
 }
 
-/**
- * Set channel Quality Profile (0-3).
- */
-void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch,
-   unsigned int qp)
-{
-   unsigned long flags;
-   unsigned int idx, reg;
-
-   if ((ch  31) || (qp  3))
-   return;
-
-   if (solo_dev-type == SOLO_DEV_6010)
-   return;
-
-   if (ch  16) {
-   idx = 0;
-   reg = SOLO_VE_JPEG_QP_CH_L;
-   } else {
-   ch -= 16;
-   idx = 1;
-   reg = SOLO_VE_JPEG_QP_CH_H;
-   }
-   ch *= 2;
-
-   spin_lock_irqsave(solo_dev-jpeg_qp_lock, flags);
-
-   solo_dev-jpeg_qp[idx] = ~(3  ch);
-   solo_dev-jpeg_qp[idx] |= (qp  3)  ch;
-
-   solo_reg_write(solo_dev, reg, solo_dev-jpeg_qp[idx]);
-
-   spin_unlock_irqrestore(solo_dev-jpeg_qp_lock, flags);
-}
-
 int solo_g_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch)
 {
int idx;
diff --git a/drivers/media/pci/solo6x10/solo6x10.h 
b/drivers/media/pci/solo6x10/solo6x10.h
index 72017b7..ad5afc6 100644
--- a/drivers/media/pci/solo6x10/solo6x10.h
+++ b/drivers/media/pci/solo6x10/solo6x10.h
@@ -399,8 +399,6 @@ int solo_eeprom_write(struct solo_dev *solo_dev, int loc,
  __be16 data);
 
 /* JPEG Qp functions */
-void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch,
-   unsigned int qp);
 int solo_g_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch);
 
 #define CHK_FLAGS(v, flags) (((v)  (flags)) == (flags))
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/8] [media] em28xx: fix em28xx-input removal

2014-12-21 Thread Frank Schäfer

Am 20.12.2014 um 15:51 schrieb Russell King - ARM Linux:
 On Sat, Dec 20, 2014 at 03:11:54PM +0100, Frank Schäfer wrote:
 Hi Russel,
 I guess you won't mind if I mis-spell your name too...

Wow... it seems to be very easy to offend you...
Sorry, that was definitely not my intention. I did not do this on purpose.
It was just a simple mistake and I will try to avoid it in the future.


 I'd prefer to keep the button initialization related stuff together in
 em28xx_init_buttons() and do the cancel_delayed_work_sync() only if we
 have buttons (dev-num_button_polling_addresses).
 That's how we already do it with the IR work struct (see
 em28xx_ir_suspend()).
 Provided all places that touch buttons_query_work are properly updated
 that's fine, but to me that is fragile and asking for trouble.  It's far
 better to ensure that everything is properly initialised so you don't
 have to remember to conditionalise every single reference to a work
 struct.

 In any case, delayed work struct initialisation is cheap - it doesn't
 involve any additional memory, it only initialises the various members
 of the struct (and the lockdep information for the static key) so there
 really is no argument against always initialising delayed works or normal
 works, timers, etc to avoid these kinds of bugs.

Fair enough !

Regards,
Frank Schäfer

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/8] Fix issues in em28xx

2014-12-21 Thread Frank Schäfer

Am 20.12.2014 um 13:44 schrieb Russell King - ARM Linux:
 While testing a PCTV tripleSTICK 292e, a couple of issues were
 discovered.  Firstly, disconnecting the device causes a lockdep
 splat, which is addressed in the first patch.

 Secondly, a number of kernel messages are missing their terminating
 newline characters, and these are spread over a range of commits and
 a range of kernel versions.  Therefore, I've split the fixes up by
 offending commit, which should make backporting to stable trees
 easier.  (Some need to be applied to 3.14 and on, some to 3.15 and on,
 etc.)

 It isn't clear who is the maintainer for this driver; there is no
 MAINTAINERS entry.  If there is a maintainer, please ensure that they
 add themselves to this critical file.  Thanks.

  drivers/media/usb/em28xx/em28xx-audio.c |  8 
  drivers/media/usb/em28xx/em28xx-core.c  |  4 ++--
  drivers/media/usb/em28xx/em28xx-dvb.c   | 14 +++---
  drivers/media/usb/em28xx/em28xx-input.c |  9 -
  drivers/media/usb/em28xx/em28xx-video.c |  6 +++---
  5 files changed, 20 insertions(+), 21 deletions(-)

Reviewed-by: Frank Schäfer fschaefer@googlemail.com

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: cx23885: Add si2165 support for HVR-5500

2014-12-21 Thread Matthias Schwarzott
On 20.12.2014 16:31, Antti Palosaari wrote:
 Matthias and Mauro,
Hi Antti,
meanwhile HVR-4400 has been tested by multiple people. And it works
rather good for DVB-T.

 so you decided to add that patch, which makes rather big changes for
 existing HVR-4400 models, without any testing. I plugged HVR-4400
 version that has only DVB-S2 in my machine in order to start finding out
 one lockdep issue but what I see is bad HVR-4400.

I checked that all known HVR-4400 and HVR-5500 versions have a
Si2161/Si2165 chip.

I checked your subsystem id 0070:c12a. In windows inf file it is listed
as Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR).
But this subsystem id is also part of the HVR-4400 entry (as is HVR-5500).

So I rechecked the HVR4400 entry.
It points to these subsys ids (plus description from inf file):
* 0070:c108 Hauppauge WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR)
* 0070:c138 Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)
* 0070:c1f8 Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)
* 0070:c12a Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR)

 
 I would also criticize Mauro as he has committed that patch. It should
 be obvious for every experienced media developer that this kind of not
 trivial change needs some more careful review or testing.
 
 That patch should be done differently, not blindly trying to attach chip
 drivers for non-existent chips. I think correct solution is to detect
 different HW models somehow, probing or reading from eeprom or so. Then
 make 2 profiles, one for boards having both satellite and
 terristrial/cable and one for boards having satellite only.
 
As can be seen above it should be possible to decide by checking the
subsys id.
So having two board entries should be the best solution.
One for HVR-4400/HVR-5500 and the other for the Starburst.

Regards
Matthias


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: cx23885: Add si2165 support for HVR-5500

2014-12-21 Thread Antti Palosaari

On 12/21/2014 09:23 PM, Matthias Schwarzott wrote:

On 20.12.2014 16:31, Antti Palosaari wrote:

Matthias and Mauro,

Hi Antti,
meanwhile HVR-4400 has been tested by multiple people. And it works
rather good for DVB-T.


My board has only satellite support, no terrestrial nor satellite. Even 
all those errors, it still creates frontend - and it even likely works, 
I didn't tested.


But as you likely saw from the messages, it prints any IO errors as 
registering terrestrial or cable frontend failed, because of missing 
chips. And module reference counts went wrong as unloading modules is 
impossible.




so you decided to add that patch, which makes rather big changes for
existing HVR-4400 models, without any testing. I plugged HVR-4400
version that has only DVB-S2 in my machine in order to start finding out
one lockdep issue but what I see is bad HVR-4400.


I checked that all known HVR-4400 and HVR-5500 versions have a
Si2161/Si2165 chip.

I checked your subsystem id 0070:c12a. In windows inf file it is listed
as Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR).
But this subsystem id is also part of the HVR-4400 entry (as is HVR-5500).

So I rechecked the HVR4400 entry.
It points to these subsys ids (plus description from inf file):
* 0070:c108 Hauppauge WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR)
* 0070:c138 Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)
* 0070:c1f8 Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)
* 0070:c12a Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR)


My board is that Starburst. All those others, 4400 and 5500 models, are 
hybrid containing two receivers. Due to that, Starburst is only one 
which is broken.



I would also criticize Mauro as he has committed that patch. It should
be obvious for every experienced media developer that this kind of not
trivial change needs some more careful review or testing.

That patch should be done differently, not blindly trying to attach chip
drivers for non-existent chips. I think correct solution is to detect
different HW models somehow, probing or reading from eeprom or so. Then
make 2 profiles, one for boards having both satellite and
terristrial/cable and one for boards having satellite only.


As can be seen above it should be possible to decide by checking the
subsys id.
So having two board entries should be the best solution.
One for HVR-4400/HVR-5500 and the other for the Starburst.


regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry

2014-12-21 Thread Matthias Schwarzott
Unconditionally attaching Si2161/Si2165 demod driver
breaks Hauppauge WinTV Starburst.
So create own card entry for this.

Add card name comments to the subsystem ids.

Signed-off-by: Matthias Schwarzott z...@gentoo.org
---
 drivers/media/pci/cx23885/cx23885-cards.c | 23 +--
 drivers/media/pci/cx23885/cx23885-dvb.c   | 11 +++
 drivers/media/pci/cx23885/cx23885.h   |  1 +
 3 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/drivers/media/pci/cx23885/cx23885-cards.c 
b/drivers/media/pci/cx23885/cx23885-cards.c
index db99ca2..06931f6 100644
--- a/drivers/media/pci/cx23885/cx23885-cards.c
+++ b/drivers/media/pci/cx23885/cx23885-cards.c
@@ -614,7 +614,7 @@ struct cx23885_board cx23885_boards[] = {
.portb  = CX23885_MPEG_DVB,
},
[CX23885_BOARD_HAUPPAUGE_HVR4400] = {
-   .name   = Hauppauge WinTV-HVR4400,
+   .name   = Hauppauge WinTV-HVR4400/HVR5500,
.porta  = CX23885_ANALOG_VIDEO,
.portb  = CX23885_MPEG_DVB,
.portc  = CX23885_MPEG_DVB,
@@ -622,6 +622,10 @@ struct cx23885_board cx23885_boards[] = {
.tuner_addr = 0x60, /* 0xc0  1 */
.tuner_bus  = 1,
},
+   [CX23885_BOARD_HAUPPAUGE_STARBURST] = {
+   .name   = Hauppauge WinTV Starburst,
+   .portb  = CX23885_MPEG_DVB,
+   },
[CX23885_BOARD_AVERMEDIA_HC81R] = {
.name   = AVerTV Hybrid Express Slim HC81R,
.tuner_type = TUNER_XC2028,
@@ -936,19 +940,19 @@ struct cx23885_subid cx23885_subids[] = {
}, {
.subvendor = 0x0070,
.subdevice = 0xc108,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge 
WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR) */
}, {
.subvendor = 0x0070,
.subdevice = 0xc138,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge 
WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */
}, {
.subvendor = 0x0070,
.subdevice = 0xc12a,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_STARBURST, /* Hauppauge 
WinTV Starburst (Model 121x00, DVB-S2, IR) */
}, {
.subvendor = 0x0070,
.subdevice = 0xc1f8,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge 
WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */
}, {
.subvendor = 0x1461,
.subdevice = 0xd939,
@@ -1545,8 +1549,9 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
cx_write(GPIO_ISM, 0x);/* INTERRUPTS active low*/
break;
case CX23885_BOARD_HAUPPAUGE_HVR4400:
+   case CX23885_BOARD_HAUPPAUGE_STARBURST:
/* GPIO-8 tda10071 demod reset */
-   /* GPIO-9 si2165 demod reset */
+   /* GPIO-9 si2165 demod reset (only HVR4400/HVR5500)*/
 
/* Put the parts into reset and back */
cx23885_gpio_enable(dev, GPIO_8 | GPIO_9, 1);
@@ -1872,6 +1877,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
case CX23885_BOARD_HAUPPAUGE_HVR4400:
+   case CX23885_BOARD_HAUPPAUGE_STARBURST:
case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE:
if (dev-i2c_bus[0].i2c_rc == 0)
hauppauge_eeprom(dev, eeprom+0xc0);
@@ -1980,6 +1986,11 @@ void cx23885_card_setup(struct cx23885_dev *dev)
ts2-ts_clk_en_val = 0x1; /* Enable TS_CLK */
ts2-src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
break;
+   case CX23885_BOARD_HAUPPAUGE_STARBURST:
+   ts1-gen_ctrl_val  = 0xc; /* Serial bus + punctured clock */
+   ts1-ts_clk_en_val = 0x1; /* Enable TS_CLK */
+   ts1-src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
+   break;
case CX23885_BOARD_DVBSKY_T9580:
case CX23885_BOARD_DVBSKY_T982:
ts1-gen_ctrl_val  = 0x5; /* Parallel */
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c 
b/drivers/media/pci/cx23885/cx23885-dvb.c
index c47d182..a9c450d 100644
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
@@ -1710,6 +1710,17 @@ static int dvb_register(struct cx23885_tsport *port)
break;
}
break;
+   case CX23885_BOARD_HAUPPAUGE_STARBURST:
+   i2c_bus = dev-i2c_bus[0];
+   

Re: [PATCH] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry

2014-12-21 Thread Matthias Schwarzott
Hi!

Should the commit message directly point to the breaking commit
36efec48e2e6016e05364906720a0ec350a5d768?

This commit hopefully reverts the problematic attach for the Starburst
card. I kept the GPIO-part in common, but I can split this also if
necessary.

Regards
Matthias

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry

2014-12-21 Thread Antti Palosaari

Works now

media: Linux media interface: v0.10
Linux video capture interface: v2.00
cx23885 driver version 0.0.4 loaded
CORE cx23885[0]: subsystem: 0070:c12a, board: Hauppauge WinTV Starburst 
[card=52,autodetected]

tveeprom 5-0050: Hauppauge model 121200, rev B2C3, serial# 4034388477
tveeprom 5-0050: MAC address is 00:0d:fe:77:e1:fd
tveeprom 5-0050: tuner model is Conexant CX24118A (idx 123, type 4)
tveeprom 5-0050: TV standards ATSC/DVB Digital (eeprom 0x80)
tveeprom 5-0050: audio processor is CX23888 (idx 40)
tveeprom 5-0050: decoder processor is CX23888 (idx 34)
tveeprom 5-0050: has no radio, has IR receiver, has no IR transmitter
cx23885[0]: warning: unknown hauppauge model #121200
cx23885[0]: hauppauge eeprom: model=121200
cx23885_dvb_register() allocating 1 frontend(s)
cx23885[0]: cx23885 based dvb card
i2c i2c-5: a8293: Allegro A8293 SEC attached
DVB: registering new adapter (cx23885[0])
cx23885 :02:00.0: DVB: registering adapter 0 frontend 0 (NXP 
TDA10071)...

cx23885_dev_checkrevision() Hardware revision = 0xd0
cx23885[0]/0: found at :02:00.0, rev: 4, irq: 18, latency: 0, mmio: 
0xfe80



Tested-by: Antti Palosaari cr...@iki.fi

Antti

On 12/21/2014 09:59 PM, Matthias Schwarzott wrote:

Unconditionally attaching Si2161/Si2165 demod driver
breaks Hauppauge WinTV Starburst.
So create own card entry for this.

Add card name comments to the subsystem ids.

Signed-off-by: Matthias Schwarzott z...@gentoo.org
---
  drivers/media/pci/cx23885/cx23885-cards.c | 23 +--
  drivers/media/pci/cx23885/cx23885-dvb.c   | 11 +++
  drivers/media/pci/cx23885/cx23885.h   |  1 +
  3 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/drivers/media/pci/cx23885/cx23885-cards.c 
b/drivers/media/pci/cx23885/cx23885-cards.c
index db99ca2..06931f6 100644
--- a/drivers/media/pci/cx23885/cx23885-cards.c
+++ b/drivers/media/pci/cx23885/cx23885-cards.c
@@ -614,7 +614,7 @@ struct cx23885_board cx23885_boards[] = {
.portb  = CX23885_MPEG_DVB,
},
[CX23885_BOARD_HAUPPAUGE_HVR4400] = {
-   .name   = Hauppauge WinTV-HVR4400,
+   .name   = Hauppauge WinTV-HVR4400/HVR5500,
.porta  = CX23885_ANALOG_VIDEO,
.portb  = CX23885_MPEG_DVB,
.portc  = CX23885_MPEG_DVB,
@@ -622,6 +622,10 @@ struct cx23885_board cx23885_boards[] = {
.tuner_addr = 0x60, /* 0xc0  1 */
.tuner_bus  = 1,
},
+   [CX23885_BOARD_HAUPPAUGE_STARBURST] = {
+   .name   = Hauppauge WinTV Starburst,
+   .portb  = CX23885_MPEG_DVB,
+   },
[CX23885_BOARD_AVERMEDIA_HC81R] = {
.name   = AVerTV Hybrid Express Slim HC81R,
.tuner_type = TUNER_XC2028,
@@ -936,19 +940,19 @@ struct cx23885_subid cx23885_subids[] = {
}, {
.subvendor = 0x0070,
.subdevice = 0xc108,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge 
WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR) */
}, {
.subvendor = 0x0070,
.subdevice = 0xc138,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge 
WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */
}, {
.subvendor = 0x0070,
.subdevice = 0xc12a,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_STARBURST, /* Hauppauge 
WinTV Starburst (Model 121x00, DVB-S2, IR) */
}, {
.subvendor = 0x0070,
.subdevice = 0xc1f8,
-   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400,
+   .card  = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge 
WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */
}, {
.subvendor = 0x1461,
.subdevice = 0xd939,
@@ -1545,8 +1549,9 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
cx_write(GPIO_ISM, 0x);/* INTERRUPTS active low*/
break;
case CX23885_BOARD_HAUPPAUGE_HVR4400:
+   case CX23885_BOARD_HAUPPAUGE_STARBURST:
/* GPIO-8 tda10071 demod reset */
-   /* GPIO-9 si2165 demod reset */
+   /* GPIO-9 si2165 demod reset (only HVR4400/HVR5500)*/

/* Put the parts into reset and back */
cx23885_gpio_enable(dev, GPIO_8 | GPIO_9, 1);
@@ -1872,6 +1877,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
case CX23885_BOARD_HAUPPAUGE_HVR4400:
+   case CX23885_BOARD_HAUPPAUGE_STARBURST:
case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE:
  

Re: [PATCH 0/3] Deprecate drivers

2014-12-21 Thread Ondrej Zary
On Friday 12 December 2014 15:32:35 Hans Verkuil wrote:
 On 12/12/2014 03:29 PM, Ondrej Zary wrote:
  On Wednesday 10 December 2014, Hans Verkuil wrote:
  On 12/02/14 23:42, Ondrej Zary wrote:
  On Tuesday 02 December 2014 16:40:30 Hans Verkuil wrote:
  This patch series deprecates the vino/saa7191 video driver (ancient
  SGI Indy computer), the parallel port webcams bw-qcam, c-qcam and
  w9966, the ISA video capture driver pms and the USB video capture
  tlg2300 driver.
 
  Hardware for these devices is next to impossible to obtain, these
  drivers haven't seen any development in ages, they often use
  deprecated APIs and without hardware that's very difficult to port.
  And cheap alternative products are easily available today.
 
  Just bought a QuickCam Pro parallel and some unknown parallel port
  webcam. Will you accept patches? :)
 
  OK, so there is some confusion here. You aren't offering to work on any
  of the deprecated drivers, are you?
 
  I'm sure you meant this email as a joke, but before the drivers are
  deprecated it is good to get that confirmed.
 
  (Sorry for the delay, I somehow missed this e-mail.)
 
  I'll try to fix c-qcam driver (I suppose that it should work with
  QuickCam Pro). The webcams are still on the way so I don't know what's
  inside the unknown one.

 I'm pretty sure the QuickCam Pro won't work with the c-qcam driver, but
 I'll postpone moving these drivers to staging for the moment.

The cameras arrived and you were right: QuickCam Pro really does not work with 
c-qcam driver. The protocol is probably completely different. The camera 
supports PnP (Windows detects it and it's visible in Device Manager).
According to some web pages, the protocol should be similar to QuickCam VC 
(available with parallel or USB port). There is a qcamvc out-of-tree driver 
for that (even updated last year) but support for QuickCam Pro is missing. 
Maybe it wouldn't be hard to add it.

The other camera is marked Rookey Z and is probably the same as Todai 
TDC-01. It works in Windows 98 with wcah204e.exe software (probably 16-bit). 
There's no PnP support (Windows does not detect any device). Almost all chips 
inside are made by NEC, the biggest one is marked CAME3. This one probably 
never worked with Linux.

-- 
Ondrej Zary
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 12/13] ARM: dts: sun6i: Add sun6i-a31s.dtsi

2014-12-21 Thread Maxime Ripard
On Sat, Dec 20, 2014 at 11:24:55AM +0100, Hans de Goede wrote:
 Hi,
 
 On 19-12-14 19:34, Maxime Ripard wrote:
 On Wed, Dec 17, 2014 at 06:18:23PM +0100, Hans de Goede wrote:
 Add a dtsi file for A31s based boards.
 
 Since the  A31s is the same die as the A31 in a different package, this dtsi
 simply includes sun6i-a31.dtsi and then overrides the pinctrl compatible to
 reflect the different package, everything else is identical.
 
 Signed-off-by: Hans de Goede hdego...@redhat.com
 ---
 Changes in v2:
 -include sun6i-a31.dtsi and override the pinctrl compatible, rather then
   copying everything
 ---
   arch/arm/boot/dts/sun6i-a31s.dtsi | 62 
  +++
   1 file changed, 62 insertions(+)
   create mode 100644 arch/arm/boot/dts/sun6i-a31s.dtsi
 
 diff --git a/arch/arm/boot/dts/sun6i-a31s.dtsi 
 b/arch/arm/boot/dts/sun6i-a31s.dtsi
 new file mode 100644
 index 000..d0bd2b9
 --- /dev/null
 +++ b/arch/arm/boot/dts/sun6i-a31s.dtsi
 @@ -0,0 +1,62 @@
 +/*
 + * Copyright 2014 Hans de Goede hdego...@redhat.com
 + *
 + * This file is dual-licensed: you can use it either under the terms
 + * of the GPL or the X11 license, at your option. Note that this dual
 + * licensing only applies to this file, and not this project as a
 + * whole.
 + *
 + *  a) This library is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of the
 + * License, or (at your option) any later version.
 + *
 + * This library is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public
 + * License along with this library; if not, write to the Free
 + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
 + * MA 02110-1301 USA
 + *
 + * Or, alternatively,
 + *
 + *  b) Permission is hereby granted, free of charge, to any person
 + * obtaining a copy of this software and associated documentation
 + * files (the Software), to deal in the Software without
 + * restriction, including without limitation the rights to use,
 + * copy, modify, merge, publish, distribute, sublicense, and/or
 + * sell copies of the Software, and to permit persons to whom the
 + * Software is furnished to do so, subject to the following
 + * conditions:
 + *
 + * The above copyright notice and this permission notice shall be
 + * included in all copies or substantial portions of the Software.
 + *
 + * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND,
 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 + * OTHER DEALINGS IN THE SOFTWARE.
 + */
 +
 +/*
 + * The A31s is the same die as the A31 in a different package, this is
 + * reflected by it having different pinctrl compatible everything else is
 + * identical.
 + */
 +
 +/include/ sun6i-a31.dtsi
 +
 +/ {
 +   soc@01c0 {
 +   pio: pinctrl@01c20800 {
 +   compatible = allwinner,sun6i-a31s-pinctrl;
 +   };
 +   };
 +};
 
 Given your previous changes, you should also update the enable-method.
 
 I've not added a new compatible for the enable-method, given that
 this is the exact same die, so the 2 are 100?% compatible, just like you
 insisted that allwinner,sun4i-a10-mod0-clk should be used for the ir-clk
 since it was 100% compatible to that I believe that the enable method
 should use the existing compatible and not invent a new one for something
 which is 100% compatible.

Yeah, you have a point and I agree, but your patch 3 does add a
CPU_METHOD_OF_DECLARE for the A31s.

Since I was going to push the branch now that 3.19-rc1 is out, do you
want me to edit your patch before doing so?


 Also, for this patch and the next one, Arnd just warned me that we
 shouldn't duplicate the DT path, and that we should switch to the new
 trend on using label references (like what TI or Amlogic does for
 example).
 
 Ok, so something like this, right ?  :
 
 pio {
   compatible = allwinner,sun6i-a31s-pinctrl;
 };

Yep.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


signature.asc
Description: Digital signature


pd-video.c:undefined reference to `usb_kill_urb'

2014-12-21 Thread kbuild test robot
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   97bf6af1f928216fd6c5a66e8a57bfa95a659672
commit: ea2e813e8cc3492c951b9895724fd47187e04a6f [media] tlg2300: move to 
staging in preparation for removal
date:   5 days ago
config: x86_64-randconfig-a1-12220755 (attached as .config)
reproduce:
  git checkout ea2e813e8cc3492c951b9895724fd47187e04a6f
  # save the attached .config to linux build tree
  make ARCH=x86_64 

All error/warnings:

   drivers/built-in.o: In function `usb_transfer_stop':
 pd-video.c:(.text+0xb3843f): undefined reference to `usb_kill_urb'
   drivers/built-in.o: In function `urb_complete_bulk':
 pd-video.c:(.text+0xb38a41): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `urb_complete_iso':
 pd-video.c:(.text+0xb38f3d): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `alloc_bulk_urbs_generic':
 (.text+0xb3936f): undefined reference to `usb_alloc_coherent'
   drivers/built-in.o: In function `alloc_bulk_urbs_generic':
 (.text+0xb393e7): undefined reference to `usb_alloc_urb'
   drivers/built-in.o: In function `alloc_bulk_urbs_generic':
 (.text+0xb3942c): undefined reference to `usb_free_urb'
   drivers/built-in.o: In function `start_video_stream':
 pd-video.c:(.text+0xb394ee): undefined reference to `usb_submit_urb'
 pd-video.c:(.text+0xb395d3): undefined reference to `usb_alloc_urb'
 pd-video.c:(.text+0xb39611): undefined reference to `usb_alloc_coherent'
   drivers/built-in.o: In function `free_all_urb_generic':
 (.text+0xb39955): undefined reference to `usb_free_coherent'
   drivers/built-in.o: In function `free_all_urb_generic':
 (.text+0xb3995d): undefined reference to `usb_free_urb'
   drivers/built-in.o: In function `pd_video_open':
 pd-video.c:(.text+0xb39e63): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `snd_pd_capture_trigger':
 pd-alsa.c:(.text+0xb3a602): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `complete_handler_audio':
 pd-alsa.c:(.text+0xb3a919): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `snd_pd_hw_capture_free':
 pd-alsa.c:(.text+0xb3aab9): undefined reference to `usb_kill_urb'
   drivers/built-in.o: In function `pd_start_feed':
 pd-dvb.c:(.text+0xb3b295): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `dvb_urb_irq':
 pd-dvb.c:(.text+0xb3b449): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `dvb_stop_streaming':
 (.text+0xb3bc84): undefined reference to `usb_kill_urb'
   drivers/built-in.o: In function `poseidon_ts_bus_ctrl':
 pd-dvb.c:(.text+0xb3bea2): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `poseidon_fm_open':
 pd-radio.c:(.text+0xb3ca2e): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `poseidon_delete':
   (.text+0xb3d046): undefined reference to `usb_put_dev'
   drivers/built-in.o: In function `poseidon_delete':

---
0-DAY kernel test infrastructureOpen Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.18.0-rc4 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT=elf64-x86-64
CONFIG_ARCH_DEFCONFIG=arch/x86/configs/x86_64_defconfig
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS=-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# 

pd-main.c:undefined reference to `usb_lock_device_for_reset'

2014-12-21 Thread kbuild test robot
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   97bf6af1f928216fd6c5a66e8a57bfa95a659672
commit: ea2e813e8cc3492c951b9895724fd47187e04a6f [media] tlg2300: move to 
staging in preparation for removal
date:   5 days ago
config: i386-randconfig-ib0-12220853 (attached as .config)
reproduce:
  git checkout ea2e813e8cc3492c951b9895724fd47187e04a6f
  # save the attached .config to linux build tree
  make ARCH=i386 

All error/warnings:

   drivers/built-in.o: In function `usb_transfer_stop':
   pd-video.c:(.text+0x5cb256): undefined reference to `usb_kill_urb'
   drivers/built-in.o: In function `pd_video_checkmode':
   pd-video.c:(.text+0x5cb2ba): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `urb_complete_bulk':
   pd-video.c:(.text+0x5cb577): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `urb_complete_iso':
   pd-video.c:(.text+0x5cb659): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `alloc_bulk_urbs_generic':
   (.text+0x5cb842): undefined reference to `usb_alloc_urb'
   drivers/built-in.o: In function `alloc_bulk_urbs_generic':
   (.text+0x5cb859): undefined reference to `usb_alloc_coherent'
   drivers/built-in.o: In function `alloc_bulk_urbs_generic':
   (.text+0x5cb865): undefined reference to `usb_free_urb'
   drivers/built-in.o: In function `start_video_stream':
   pd-video.c:(.text+0x5cb971): undefined reference to `usb_alloc_urb'
   pd-video.c:(.text+0x5cb991): undefined reference to `usb_alloc_coherent'
   pd-video.c:(.text+0x5cba75): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `free_all_urb_generic':
   (.text+0x5cbc8c): undefined reference to `usb_free_coherent'
   drivers/built-in.o: In function `free_all_urb_generic':
   (.text+0x5cbc93): undefined reference to `usb_free_urb'
   drivers/built-in.o: In function `pm_video_suspend':
   pd-video.c:(.text+0x5cbdd3): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `fire_audio_urb':
   pd-alsa.c:(.text+0x5cc32a): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `audio_buf_free':
   pd-alsa.c:(.text+0x5cc534): undefined reference to `usb_kill_urb'
   drivers/built-in.o: In function `complete_handler_audio':
   pd-alsa.c:(.text+0x5cc6db): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `dvb_start_streaming':
   pd-dvb.c:(.text+0x5cc9fc): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `dvb_urb_irq':
   pd-dvb.c:(.text+0x5ccb1d): undefined reference to `usb_submit_urb'
   drivers/built-in.o: In function `poseidon_check_mode_dvbt':
   pd-dvb.c:(.text+0x5ccb7b): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `dvb_stop_streaming':
   (.text+0x5ccfd2): undefined reference to `usb_kill_urb'
   drivers/built-in.o: In function `pm_fm_suspend':
   pd-radio.c:(.text+0x5cd3e2): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `poseidon_check_mode_radio':
   pd-radio.c:(.text+0x5cd522): undefined reference to `usb_set_interface'
   drivers/built-in.o: In function `poseidon_delete':
   (.text+0x5cdac4): undefined reference to `usb_put_dev'
   drivers/built-in.o: In function `poseidon_delete':
   (.text+0x5cdadd): undefined reference to `usb_put_intf'
   drivers/built-in.o: In function `pm_notifier_block':
 pd-main.c:(.text+0x5cdbd1): undefined reference to 
 `usb_lock_device_for_reset'
 pd-main.c:(.text+0x5cdbdc): undefined reference to `usb_reset_device'
   drivers/built-in.o: In function `poseidon_probe':
   pd-main.c:(.text+0x5cde26): undefined reference to `usb_control_msg'
   pd-main.c:(.text+0x5cdf08): undefined reference to `usb_bulk_msg'
   pd-main.c:(.text+0x5cdfbf): undefined reference to `usb_put_dev'
   pd-main.c:(.text+0x5cdfca): undefined reference to `usb_put_intf'
   pd-main.c:(.text+0x5ce029): undefined reference to `usb_get_dev'
   pd-main.c:(.text+0x5ce037): undefined reference to `usb_get_intf'
   pd-main.c:(.text+0x5ce1a1): undefined reference to `usb_put_intf'
   pd-main.c:(.text+0x5ce1ac): undefined reference to `usb_put_dev'
   drivers/built-in.o: In function `send_set_req':
   (.text+0x5ce23c): undefined reference to `usb_control_msg'
   drivers/built-in.o: In function `send_get_req':
   (.text+0x5ce300): undefined reference to `usb_control_msg'
   drivers/built-in.o: In function `poseidon_init':
   pd-main.c:(.init.text+0x268f3): undefined reference to `usb_register_driver'
   drivers/built-in.o: In function `poseidon_exit':
   pd-main.c:(.exit.text+0x586d): undefined reference to `usb_deregister'

---
0-DAY kernel test infrastructureOpen Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 3.18.0-rc4 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y

cron job: media_tree daily build: ERRORS

2014-12-21 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:   Mon Dec 22 04:00:14 CET 2014
git branch: test
git hash:   427ae153c65ad7a08288d86baf99000569627d03
gcc version:i686-linux-gcc (GCC) 4.9.1
sparse version: v0.5.0-41-g6c2d743
smatch version: 0.4.1-3153-g7d56ab3
host hardware:  x86_64
host os:3.17-3.slh.2-amd64

linux-git-arm-at91: OK
linux-git-arm-davinci: OK
linux-git-arm-exynos: OK
linux-git-arm-mx: OK
linux-git-arm-omap: OK
linux-git-arm-omap1: OK
linux-git-arm-pxa: OK
linux-git-blackfin: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: OK
linux-git-powerpc64: OK
linux-git-sh: OK
linux-git-x86_64: OK
linux-2.6.32.27-i686: OK
linux-2.6.33.7-i686: OK
linux-2.6.34.7-i686: OK
linux-2.6.35.9-i686: OK
linux-2.6.36.4-i686: OK
linux-2.6.37.6-i686: OK
linux-2.6.38.8-i686: OK
linux-2.6.39.4-i686: OK
linux-3.0.60-i686: OK
linux-3.1.10-i686: OK
linux-3.2.37-i686: OK
linux-3.3.8-i686: OK
linux-3.4.27-i686: OK
linux-3.5.7-i686: OK
linux-3.6.11-i686: OK
linux-3.7.4-i686: OK
linux-3.8-i686: OK
linux-3.9.2-i686: OK
linux-3.10.1-i686: OK
linux-3.11.1-i686: OK
linux-3.12.23-i686: OK
linux-3.13.11-i686: OK
linux-3.14.9-i686: OK
linux-3.15.2-i686: OK
linux-3.16-i686: OK
linux-3.17-i686: OK
linux-3.18-i686: OK
linux-2.6.32.27-x86_64: OK
linux-2.6.33.7-x86_64: OK
linux-2.6.34.7-x86_64: OK
linux-2.6.35.9-x86_64: OK
linux-2.6.36.4-x86_64: OK
linux-2.6.37.6-x86_64: OK
linux-2.6.38.8-x86_64: OK
linux-2.6.39.4-x86_64: OK
linux-3.0.60-x86_64: OK
linux-3.1.10-x86_64: OK
linux-3.2.37-x86_64: OK
linux-3.3.8-x86_64: OK
linux-3.4.27-x86_64: OK
linux-3.5.7-x86_64: OK
linux-3.6.11-x86_64: OK
linux-3.7.4-x86_64: OK
linux-3.8-x86_64: OK
linux-3.9.2-x86_64: OK
linux-3.10.1-x86_64: OK
linux-3.11.1-x86_64: OK
linux-3.12.23-x86_64: OK
linux-3.13.11-x86_64: OK
linux-3.14.9-x86_64: OK
linux-3.15.2-x86_64: OK
linux-3.16-x86_64: OK
linux-3.17-x86_64: OK
linux-3.18-x86_64: OK
apps: OK
spec-git: OK
sparse: ERRORS
smatch: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Monday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Monday.tar.bz2

The Media Infrastructure API from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 6/7] ARM: at91: dts: sama5d3: add ov2640 camera sensor support

2014-12-21 Thread Josh Wu

Hi, Alexandre

Thanks for the review.

On 12/20/2014 5:05 AM, Alexandre Belloni wrote:

On 18/12/2014 at 16:51:06 +0800, Josh Wu wrote :

According to v4l2 dt document, we add:
   a camera host: ISI port.
   a i2c camera sensor: ov2640 port.
to sama5d3xmb.dtsi.

In the ov2640 node, it defines the pinctrls, clocks and isi port.
In the ISI node, it also reference to a ov2640 port.

Signed-off-by: Josh Wu josh...@atmel.com
---
  arch/arm/boot/dts/sama5d3xmb.dtsi | 32 
  1 file changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi 
b/arch/arm/boot/dts/sama5d3xmb.dtsi
index 0aaebc6..958a528 100644
--- a/arch/arm/boot/dts/sama5d3xmb.dtsi
+++ b/arch/arm/boot/dts/sama5d3xmb.dtsi
@@ -52,6 +52,29 @@
};
};
  
+			i2c1: i2c@f0018000 {

+   ov2640: camera@0x30 {
+   compatible = ovti,ov2640;
+   reg = 0x30;
+   pinctrl-names = default;
+   pinctrl-0 = pinctrl_isi_pck_as_mck 
pinctrl_sensor_power pinctrl_sensor_reset;

I've acked your previous patch but maybe it should be named
pinctrl_isi_pck1_as_mck to be clearer (you used the handle to pck1
below).

It's a good idea. Maybe I prefer to use the name: pinctrl_pck1_as_isi_mck ?
If you are ok with this name, in next version, I will add one more patch 
in the series to do this.

And I will keep your acked-by in my previous patch.

Best Regards,
Josh Wu




+   resetb-gpios = pioE 24 
GPIO_ACTIVE_LOW;
+   pwdn-gpios = pioE 29 
GPIO_ACTIVE_HIGH;
+   /* use pck1 for the master clock of 
ov2640 */
+   clocks = pck1;
+   clock-names = xvclk;
+   assigned-clocks = pck1;
+   assigned-clock-rates = 2500;
+
+   port {
+   ov2640_0: endpoint {
+   remote-endpoint = 
isi_0;
+   bus-width = 8;
+   };
+   };
+   };
+   };
+
usart1: serial@f002 {
dmas = 0, 0;/*  Do not use DMA for 
usart1 */
pinctrl-names = default;
@@ -60,6 +83,15 @@
};
  
  			isi: isi@f0034000 {

+   port {
+   #address-cells = 1;
+   #size-cells = 0;
+
+   isi_0: endpoint {
+   remote-endpoint = ov2640_0;
+   bus-width = 8;
+   };
+   };
};
  
  			mmc1: mmc@f800 {

--
1.9.1



--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html