openwrt/staging/blogic.git
10 years agoimx-drm: ipu-dc: Use usleep_range instead of msleep
Philipp Zabel [Tue, 25 Feb 2014 11:43:42 +0000 (12:43 +0100)]
imx-drm: ipu-dc: Use usleep_range instead of msleep

Since msleep(2) can sleep up to 20ms anyway, make this explicit by using
usleep_range(2000, 20000).

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoimx-drm: Move IPU_PIX_FMT_GBR24 definition into imx-ipu-v3.h
Philipp Zabel [Tue, 25 Feb 2014 11:43:41 +0000 (12:43 +0100)]
imx-drm: Move IPU_PIX_FMT_GBR24 definition into imx-ipu-v3.h

The IPU display controller supports a non-standard green-red-blue ordered
format that is used on the connection between IPU display interface 1 and
the TV encoder on i.MX53.
In preparation for the move of IPU core code out of staging, place the
IPU_PIX_FMT_GBR24 definition in imx-ipu-v3.h, so that both the IPU
display interface driver and the TVE encoder driver can access it.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: panel: Fix quoted string split across line in panel.c
Monam Agarwal [Tue, 25 Feb 2014 14:12:46 +0000 (19:42 +0530)]
Staging: panel: Fix quoted string split across line in panel.c

This patch fixes the following checkpatch.pl warning in panel.c:
WARNING: quoted string split across lines

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: panel: Fix space prohibited between function name and open paranthesis
Monam Agarwal [Tue, 25 Feb 2014 14:10:49 +0000 (19:40 +0530)]
Staging: panel: Fix space prohibited between function name and open paranthesis

This patch fixes the following checkpatch.pl issues in panel.c:
WARNING: space prohibited between function name and open parenthesis '('

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: rtl8187se: Clean-up comment line style in r8180_core.c
Ana Rey [Wed, 26 Feb 2014 09:06:00 +0000 (10:06 +0100)]
staging: rtl8187se: Clean-up comment line style in r8180_core.c

This patch clean-up comment-line style in r8180_core.c as the CodingStyle
recommends.

Signed-off-by: Ana Rey <anarey@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: rtl8192e: Replace min macro with min_t
Silvan Jegen [Tue, 25 Feb 2014 17:07:10 +0000 (18:07 +0100)]
Staging: rtl8192e: Replace min macro with min_t

Instead of an explicit cast the min_t macro should be used.

Signed-off-by: Silvan Jegen <s.jegen@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: rtl8187se: Convert CHANNEL_LIST typedef into a struct.
Ana Rey [Tue, 25 Feb 2014 13:37:01 +0000 (14:37 +0100)]
staging: rtl8187se: Convert CHANNEL_LIST typedef into a struct.

The Documentation/CodingStyle doesn't recommend the use of typedef, convert
this to structure.

While at it, I have also renamed the variable names that were used in
this typedef not to use Hungarian notation.

Signed-off-by: Ana Rey <anarey@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: rtl8187se: Deleted rtl8180_len2duration functions in r8180_core.c
Ana Rey [Tue, 25 Feb 2014 13:36:33 +0000 (14:36 +0100)]
staging: rtl8187se: Deleted rtl8180_len2duration functions in r8180_core.c

After the next warning messages by sparse tools:

drivers/staging/rtl8187se/r8180_core.c:1621:5: warning: symbol 'rtl8180_len2duration' was not declared. Should it be static?
drivers/staging/rtl8187se/r8180_core.c:1621:12: warning: ‘rtl8180_len2duration’ defined but not used [-Wunused-function]
 static u16 rtl8180_len2duration(u32 len, short rate, short *ext)
            ^

And the next search:
$ grep -ir rtl8180_len2duration ./*
./r8180_core.c:u16 rtl8180_len2duration(u32 len, short rate, short *ext)
Binary file ./r8187se.ko matches
Binary file ./r8187se.o matches

I decided to delete rtl8180_len2duration function.

Signed-off-by: Ana Rey <anarey@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: Fix build issues with new binder API
John Stultz [Wed, 26 Feb 2014 22:29:07 +0000 (14:29 -0800)]
staging: Fix build issues with new binder API

The new 64bit binder API causes build issues on 32bit ARM
due to the lack of 64bit __get_user_asm_* implementation.

Until that implementation is done, remove the choice for
32bit ARM, automatically enabling the old 32bit binder
protocol.

This can be reverted once a 64bit __get_user_asm_*
implementation is merged.

Cc: Colin Cross <ccross@android.com>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Serban Constantinescu <serban.constantinescu@arm.com>
Cc: Android Kernel Team <kernel-team@android.com>
Reported-by: Arnd Bergmann <arnd.bergmann@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: cxt1e1: Fix line length over 80 characters in functions.c
Monam Agarwal [Tue, 25 Feb 2014 11:14:26 +0000 (16:44 +0530)]
Staging: cxt1e1: Fix line length over 80 characters in functions.c

This patch fixes the following checkpatch.pl warning in functions.c
WARNING: Line length over 80 characters

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: cxt1e1: Fix space prohibited between function name and open parenthesis '('
Monam Agarwal [Tue, 25 Feb 2014 10:42:44 +0000 (16:12 +0530)]
Staging: cxt1e1: Fix space prohibited between function name and open parenthesis '('

This patch fixes the following checkpatch.pl warning in functions.c
WARNING: space prohibited between function name and open parenthesis '('

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: cxt1e1: Fix no spaces at the start of a line in functions.c
Monam Agarwal [Tue, 25 Feb 2014 09:16:04 +0000 (14:46 +0530)]
Staging: cxt1e1: Fix no spaces at the start of a line in functions.c

This patch fixes the following checkpatch.pl warning in functions.c
WARNING: please no spaces at the start of a line in

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: ced401: fix double unlock bug
Daeseok Youn [Tue, 25 Feb 2014 01:13:49 +0000 (10:13 +0900)]
staging: ced401: fix double unlock bug

After spin_lock() is called, all of if-else conditions in this brace
should reach the end of else and spin_unlock() must be called.
So It doesn't need to call spin_unlock() without a return statement
for handling an error.

Also sparse says:
drivers/staging/ced1401/usb1401.c:1080:28: warning:
 context imbalance in 'Handle1401Esc' - unexpected unlock

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: comedi: addi-data: clean-up variable use in hwdrv_apci035.c
Chase Southwood [Wed, 26 Feb 2014 09:09:44 +0000 (03:09 -0600)]
Staging: comedi: addi-data: clean-up variable use in hwdrv_apci035.c

The variable ui_Command is as of right now being cleared to a
value of zero between everytime that it writes to a port and then takes a
new value from a port.  Seems like this zeroing is unnecessary, so we can
just remove these lines.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: comedi: drivers: fix for a potential NULL pointer dereference
Kumar Amit Mehta [Tue, 25 Feb 2014 23:04:45 +0000 (01:04 +0200)]
staging: comedi: drivers: fix for a potential NULL pointer dereference

Return -ENOMEM in ni_E_init if ni_gpct_device_construct returns NULL

Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: comedi: Fix unnecessary space after function pointer
Monam Agarwal [Tue, 25 Feb 2014 09:21:26 +0000 (14:51 +0530)]
Staging: comedi: Fix unnecessary space after function pointer

This patch fixes the following checkpatch.pl warning in comedidev.h
WARNING: Fix unnecessary space after function pointer

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: fix compile warnings by remove dead code
Mark Hounschell [Tue, 25 Feb 2014 15:02:53 +0000 (10:02 -0500)]
staging: dgap: fix compile warnings by remove dead code

The last patch series exposed some dead code causing compile warnings.
This patch removes that dead code and fixes the warnings

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: comedi: addi-data: fix a couple of lines that are too long
Chase Southwood [Mon, 24 Feb 2014 16:35:09 +0000 (10:35 -0600)]
Staging: comedi: addi-data: fix a couple of lines that are too long

There are a couple of cases where a comment being on the same line as a
statement is causing the line to be over 80 characters long.  This is an
easy fix, move these comments to the previous line.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: comedi: addi-data: cleanup conditional blocks in hwdrv_apci035.c
Chase Southwood [Mon, 24 Feb 2014 16:34:13 +0000 (10:34 -0600)]
Staging: comedi: addi-data: cleanup conditional blocks in hwdrv_apci035.c

There were some conditional blocks that had an unnecessary level of
indentation in them.  We can remove this to improve code clarity.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: comedi: addi-data: comment cleanup in hwdrv_apci035.c
Chase Southwood [Sat, 22 Feb 2014 03:20:29 +0000 (21:20 -0600)]
Staging: comedi: addi-data: comment cleanup in hwdrv_apci035.c

This patch further cleans up the comments in hwdrv_apci035.c, converting
them to kernel style and removing some commented conditional statements
that are unused.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoStaging: comedi: Fix line length exceeding 80 characters
Monam Agarwal [Mon, 24 Feb 2014 16:49:42 +0000 (22:19 +0530)]
Staging: comedi: Fix line length exceeding 80 characters

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: Remove typedef enum _CONTEXT_TYPE
Malcolm Priestley [Wed, 19 Feb 2014 21:56:33 +0000 (21:56 +0000)]
staging: vt6656: Remove typedef enum _CONTEXT_TYPE

Replace with enum

assign as u8 type.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: clean up s_nsBulkOutIoCompleteWrite.
Malcolm Priestley [Wed, 19 Feb 2014 21:54:45 +0000 (21:54 +0000)]
staging: vt6656: clean up s_nsBulkOutIoCompleteWrite.

Remove commented out, white space and camel case.

Camel case changes
pContext -> context
pDevice -> priv
ContextType -> context_type
ulBufLen -> buf_len

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: s_nsBulkOutIoCompleteWrite add error handling,
Malcolm Priestley [Wed, 19 Feb 2014 21:53:35 +0000 (21:53 +0000)]
staging: vt6656: s_nsBulkOutIoCompleteWrite add error handling,

change pContext->bBoolInUse to false on connection errors.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: s_nsBulkOutIoCompleteWrite reorganise variable order.
Malcolm Priestley [Wed, 19 Feb 2014 21:50:14 +0000 (21:50 +0000)]
staging: vt6656: s_nsBulkOutIoCompleteWrite reorganise variable order.

Declare in order of pointer use.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: vRunCommand remove multi calls to s_bCommandComplete.
Malcolm Priestley [Wed, 19 Feb 2014 19:35:16 +0000 (19:35 +0000)]
staging: vt6656: vRunCommand remove multi calls to s_bCommandComplete.

Remove calls with break
s_bCommandComplete(pDevice);
spin_unlock_irq(&pDevice->lock);
return;

Add single call to s_bCommandComplete;

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: Move device_set_multi code call to vRunCommand
Malcolm Priestley [Wed, 19 Feb 2014 19:34:18 +0000 (19:34 +0000)]
staging: vt6656: Move device_set_multi code call to vRunCommand

device_set_multi is an atomic call, in order to reduce atomic area of driver
move code to be called from vRunCommand.

Later the atomic area of vRunCommand can be reduced.

Change existing code in device_set_multi to new function
vnt_configure_filter minus its locks.

Change device_set_multi to call bScheduleCommand

device_set_multi is nolonger called from device open.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: Replace typedef struct INT_BUFFER, *PINT_BUFFER
Malcolm Priestley [Wed, 19 Feb 2014 18:39:09 +0000 (18:39 +0000)]
staging: vt6656: Replace typedef struct INT_BUFFER, *PINT_BUFFER

Replace with struct vnt_interrupt_buffer.

Using only the live member of old structure
pDataBuf -> data_buf
bInUse -> in_use

uDataLen is unused and dropped.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: clean up PIPEnsInterruptRead.
Malcolm Priestley [Wed, 19 Feb 2014 18:37:32 +0000 (18:37 +0000)]
staging: vt6656: clean up PIPEnsInterruptRead.

Remove comments, white space and camel case.

Camel case changes
pDevice -> priv
ntStatus -> status

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: PIPEnsInterruptRead set intBuf.bInUse to false.
Malcolm Priestley [Wed, 19 Feb 2014 18:36:37 +0000 (18:36 +0000)]
staging: vt6656: PIPEnsInterruptRead set intBuf.bInUse to false.

set intBuf.bInUse to false on return error.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: vt6656: PIPEnsInterruptRead use usb_fill_int_urb
Malcolm Priestley [Wed, 19 Feb 2014 18:35:22 +0000 (18:35 +0000)]
staging: vt6656: PIPEnsInterruptRead use usb_fill_int_urb

Change to usb_fill_int_urb which has int_interval.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging/rtl8192e: Remove unused code
Jon Mason [Mon, 24 Feb 2014 20:08:20 +0000 (13:08 -0700)]
staging/rtl8192e: Remove unused code

Remove unused #defines, structure, and inlined functions for the
rtl8192e driver.  Compile tested only.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Add in-kernel firmware loading support
Mark Hounschell [Thu, 20 Feb 2014 13:48:48 +0000 (08:48 -0500)]
staging: dgap: Add in-kernel firmware loading support

This patch adds in-kernel firmware loading support and removes
support for the original userland firmware loading process.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Rename driver
Mark Hounschell [Wed, 19 Feb 2014 18:12:14 +0000 (13:12 -0500)]
staging: dgap: Rename driver

Renames driver file dgap_driver.c and dgap_driver.h to
dgap.c and dgap.h because we are now single source and
include file and better fits kernel naming conventions.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Make merged and local functions and variables static
Mark Hounschell [Wed, 19 Feb 2014 18:12:13 +0000 (13:12 -0500)]
staging: dgap: Make merged and local functions and variables static

This patch makes all merged and original functions static to dgap.c.
Doing so has revealed more dead code via gcc warnings.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge digi.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:12 +0000 (13:12 -0500)]
staging: dgap: Merge digi.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_types.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:11 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_types.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_kcompat.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:10 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_kcompat.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_parse.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:09 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_parse.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_conf.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:08 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_conf.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_pci.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:07 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_pci.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_fep5.h into dgap_driver.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:06 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_fep5.h into dgap_driver.h

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_sysfs.h into dgap_driver.c
Mark Hounschell [Wed, 19 Feb 2014 18:12:05 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_sysfs.h into dgap_driver.c

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_tty.h into dgap_driver.c
Mark Hounschell [Wed, 19 Feb 2014 18:12:04 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_tty.h into dgap_driver.c

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Remove unneeded dgap_trace.c and dgap_trace.h
Mark Hounschell [Wed, 19 Feb 2014 18:12:03 +0000 (13:12 -0500)]
staging: dgap: Remove unneeded dgap_trace.c and dgap_trace.h

Removes unneeded files dgap_trace.c and dgap_trace.h

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_parses.c into dgap_driver.c
Mark Hounschell [Wed, 19 Feb 2014 18:12:02 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_parses.c into dgap_driver.c

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_sysfs.c into dgap_driver.c
Mark Hounschell [Wed, 19 Feb 2014 18:12:01 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_sysfs.c into dgap_driver.c

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_fep5.c into dgap_driver.c
Mark Hounschell [Wed, 19 Feb 2014 18:12:00 +0000 (13:12 -0500)]
staging: dgap: Merge dgap_fep5.c into dgap_driver.c

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Merge dgap_tty.c into dgap_driver.c
Mark Hounschell [Wed, 19 Feb 2014 18:11:59 +0000 (13:11 -0500)]
staging: dgap: Merge dgap_tty.c into dgap_driver.c

There is a lot of cleanup work to do on these digi drivers and merging as
much as is possible will make it easier. I also notice that many merged
drivers are single source and header.

Signed-off-by: Mark Hounschell <markh@compro.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Remove userland source code files
Mark Hounschell [Wed, 19 Feb 2014 18:11:58 +0000 (13:11 -0500)]
staging: dgap: Remove userland source code files

This patch removes userland source code files downld.c and dgap_downld.h

Signed-off-by: Mark Hounschell <markh@compro.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: dgap: Remove CVS ID tags
Mark Hounschell [Wed, 19 Feb 2014 18:11:57 +0000 (13:11 -0500)]
staging: dgap: Remove CVS ID tags

This patch removes all the original CVS tags because they are in my way

Signed-off-by: Mark Hounschell <markh@compro.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: binder: Improve Kconfig entry for ANDROID_BINDER_IPC_32BIT
John Stultz [Fri, 21 Feb 2014 22:40:27 +0000 (14:40 -0800)]
staging: binder: Improve Kconfig entry for ANDROID_BINDER_IPC_32BIT

Add a more clear explanation of the option in the prompt, and
make the config depend on ANDROID_BINDER_IPC being selected.

Also sets the default to y, which matches AOSP.

Cc: Colin Cross <ccross@android.com>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Serban Constantinescu <serban.constantinescu@arm.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: binder: Support concurrent 32 bit and 64 bit processes.
Arve Hjønnevåg [Fri, 21 Feb 2014 22:40:26 +0000 (14:40 -0800)]
staging: binder: Support concurrent 32 bit and 64 bit processes.

For 64bit systems we want to use the same binder interface for 32bit and
64bit processes. Thus the size and the layout of the structures passed
between the kernel and the userspace has to be the same for both 32 and
64bit processes.

This change replaces all the uses of void* and size_t with
binder_uintptr_t and binder_size_t. These are then typedefed to specific
sizes depending on the use of the interface, as follows:
       * __u32 - on legacy 32bit only userspace
       * __u64 - on mixed 32/64bit userspace where all processes use the same
interface.

This change also increments the BINDER_CURRENT_PROTOCOL_VERSION to 8 and
hooks the compat_ioctl entry for the mixed 32/64bit Android userspace.

This patch also provides a CONFIG_ANDROID_BINDER_IPC_32BIT option for
compatability, which if set which enables the old protocol, setting
BINDER_CURRENT_PROTOCOL_VERSION to 7, on 32 bit systems.

Please note that all 64bit kernels will use the 64bit Binder ABI.

Cc: Colin Cross <ccross@android.com>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Serban Constantinescu <serban.constantinescu@arm.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
[jstultz: Merged with upstream type changes. Various whitespace fixes
and longer Kconfig description for checkpatch. Included improved commit
message from Serban (with a few tweaks).]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agostaging: binder: Fix ABI for 64bit Android
Serban Constantinescu [Fri, 21 Feb 2014 22:40:25 +0000 (14:40 -0800)]
staging: binder: Fix ABI for 64bit Android

BC_REQUEST_DEATH_NOTIFICATION and BC_CLEAR_DEATH_NOTIFICATION were
defined with the wrong structure that did not match the code. Since a
binder pointer and handle are the same size on 32 bit systems, this
change does not affect them. The two commands claimed they were using
struct binder_ptr_cookie but they are using a 32bit handle and a pointer.

The main purpose of this patch is to add the binder_handle_cookie
struct so the service manager does not have to define its own version
(libbinder writes one field at a time so it does not use the struct).

On 32bit systems the payload size is the same as the size of struct
binder_ptr_cookie. On 64bit systems, the size does differ, and the
ioctl number does change. However, there are no known 64bit users of
this interface, and any 64bit systems will need the following patch to
run 32 bit processes anyway, so it is not expected that anyone will
ship a 64bit system without this change, so this change should not
affect any existing systems.

Cc: Colin Cross <ccross@android.com>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Serban Constantinescu <serban.constantinescu@arm.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
[jstultz: Few 80+ col fixes for checkpatch, improved commit message
with help from Serban, and included rational from Arve's email]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoMerge branch 'imx-drm-staging' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into...
Greg Kroah-Hartman [Mon, 24 Feb 2014 20:39:56 +0000 (12:39 -0800)]
Merge branch 'imx-drm-staging' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into staging-next

Russell writes:

These changes, which convert imx-drm to use the recently merged
component infrastructure, have been reviewed and acked by Philipp Zabel,
Shawn Guo and Fabio Estevam, and are now deemed to be ready.

10 years agoMerge 3.14-rc4 into staging-next.
Greg Kroah-Hartman [Mon, 24 Feb 2014 20:33:52 +0000 (12:33 -0800)]
Merge 3.14-rc4 into staging-next.

We want those fixes here as well.

10 years agoimx-drm: imx-hdmi: add hotplug support to HDMI component
Russell King [Sun, 3 Nov 2013 22:23:24 +0000 (22:23 +0000)]
imx-drm: imx-hdmi: add hotplug support to HDMI component

Add hotplug support.  We have to make the interrupt handler threaded so
we can call drm_helper_hpd_irq_event().  Keeping in mind that we will
want to share the interrupt with other HDMI interface drivers (eg, audio
and CEC) put the groundwork in now for that, rather than just using
IRQF_ONESHOT.

Also, we must not call drm_helper_hpd_irq_event() until we have fully
setup the connector; keep the interrupt(s) muted until after that point.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: add core hotplug connector support
Russell King [Sun, 3 Nov 2013 22:18:40 +0000 (22:18 +0000)]
imx-drm: imx-drm-core: add core hotplug connector support

Add core imx-drm support for hotplug connector support.  We need to
setup the poll helper after we've setup the connectors; the helper
scans the connectors to determine their capabilities.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: various cleanups
Russell King [Sun, 3 Nov 2013 15:38:09 +0000 (15:38 +0000)]
imx-drm: imx-drm-core: various cleanups

Various cleanups are possible after the previous round of changes; these
have no real functional bearing other than tidying up the code.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: move allocation of imxdrm device to driver load function
Russell King [Sun, 3 Nov 2013 15:31:22 +0000 (15:31 +0000)]
imx-drm: imx-drm-core: move allocation of imxdrm device to driver load function

It is now no longer necessary to keep this structure around; we can
allocate it upon DRM driver load and destroy it thereafter without
affecting the other components now.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: kill off mutex
Russell King [Sun, 3 Nov 2013 15:20:18 +0000 (15:20 +0000)]
imx-drm: imx-drm-core: kill off mutex

This mutex doesn't protect anything anymore; get rid of it.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: get rid of drm_mode_group_init_legacy_group()
Russell King [Mon, 11 Nov 2013 16:20:25 +0000 (16:20 +0000)]
imx-drm: imx-drm-core: get rid of drm_mode_group_init_legacy_group()

Since we're now operating like a conventional DRM driver, doing all
the initialisation within the driver's ->load callback, we don't
need to mess around with the mode groups - we can rely on the one
in the DRM platform code.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: remove imx_drm_connector and imx_drm_encoder code
Russell King [Sun, 3 Nov 2013 13:55:34 +0000 (13:55 +0000)]
imx-drm: imx-drm-core: remove imx_drm_connector and imx_drm_encoder code

The core imx_drm_connector and imx_drm_encoder code is no longer
required - the connectors and encoders are all using the component
support, so we can remove this.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: initialise drm components directly
Russell King [Sun, 3 Nov 2013 13:30:48 +0000 (13:30 +0000)]
imx-drm: initialise drm components directly

Now that our bind function is only ever called during the main DRM
driver ->load callback, we don't need to have the imx_drm_connector or
imx_drm_encoder abstractions anymore.  So let's get rid of it, and move
the DRM connector and encoder setup into the connector support files.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: provide common connector and encoder cleanup functions
Russell King [Sun, 3 Nov 2013 13:28:24 +0000 (13:28 +0000)]
imx-drm: imx-drm-core: provide common connector and encoder cleanup functions

Provide two helper functions to assist with cleaning up imx-drm
connectors and encoders.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: provide helper function to parse possible crtcs
Russell King [Sun, 3 Nov 2013 14:04:47 +0000 (14:04 +0000)]
imx-drm: imx-drm-core: provide helper function to parse possible crtcs

Provide a helper function to parse possible crtcs before the encoder
is registered.  The crtc mask is derived from the position of the
CRTCs registered in the drm_device.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: use supplied drm_device where possible
Russell King [Sun, 3 Nov 2013 12:26:23 +0000 (12:26 +0000)]
imx-drm: use supplied drm_device where possible

The component helper provides us the drm_device which is being
registered.  Rather than having to reference a global in imx-drm-core,
use this to get the imxdrm device, and also use it to register the CRTC
against.

This means we never have CRTCs/encoders/connectors without the drivers
private data being accessible.

Remove the module owner field as well; this provides no protection
against the device being unbound.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: remove imx-fb.c
Russell King [Sun, 3 Nov 2013 16:04:48 +0000 (16:04 +0000)]
imx-drm: remove imx-fb.c

imx-fb.c doesn't need to be separate from imx-drm-core.c - all it is
doing is setting up the minimum and maximum sizes of the scanout
buffers, and setting up the mode_config function pointers.  Move the
contents into imx-drm-core.c and kill this file.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: remove separate imx-fbdev
Russell King [Sun, 3 Nov 2013 12:13:47 +0000 (12:13 +0000)]
imx-drm: remove separate imx-fbdev

Now that we know when the components of the imx-drm subsystem will be
initialised, we can move the fbdev helper initialisation and teardown
into imx-drm-core.  This gives us the required ordering that DRM wants
in both driver load and unload methods.

We can also stop exporting the imx_drm_device_get() and
imx_drm_device_put() methods; nothing but the fbdev helper was making
use of these.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: delay publishing sysfs connector entries
Russell King [Sun, 3 Nov 2013 18:39:29 +0000 (18:39 +0000)]
imx-drm: delay publishing sysfs connector entries

Delay publishing sysfs connector entries until all components have
initialised.  This reduces the probability of generating false hotplug
events when we're uncertain whether the driver can fully initialise.
This also pulls that code out of the individual imx-drm connector
drivers.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: convert to componentised device support
Russell King [Sun, 3 Nov 2013 11:23:34 +0000 (11:23 +0000)]
imx-drm: convert to componentised device support

Use the componentised device support for imx-drm.  This requires all
the sub-components and the master device to register with the component
device support.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: simplify setup of panel format
Russell King [Sun, 3 Nov 2013 15:52:16 +0000 (15:52 +0000)]
imx-drm: simplify setup of panel format

The encoder format passed into imx_drm_crtc_panel_format*() is the
encoder format used for DRM in most cases; the HDMI encoder sets
this to none, but this is incorrect, it should be TMDS.

Since this is the case, we can pass the drm_encoder structure
directly into this function and use the supplied fields there to
configure the CRTC.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: provide common connector mode validation function
Russell King [Sat, 9 Nov 2013 11:20:55 +0000 (11:20 +0000)]
imx-drm: provide common connector mode validation function

Provide a common connector mode validation function, which can be used
to limit the available modes according to other components in the
system.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: use array instead of list for CRTCs
Russell King [Sun, 24 Nov 2013 13:23:17 +0000 (13:23 +0000)]
imx-drm: imx-drm-core: use array instead of list for CRTCs

The DRM core indexes vblank by number, so there's little point
maintaining a list, and have to scan the list to find the appropriate
structure.  Instead, use an array of pointers to the CRTCs.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-drm-core: sanitise imx_drm_encoder_get_mux_id()
Russell King [Sun, 24 Nov 2013 13:02:52 +0000 (13:02 +0000)]
imx-drm: imx-drm-core: sanitise imx_drm_encoder_get_mux_id()

Address the following issues:
- imx_drm_encoder_get_mux_id() searches the CRTC list for the matching
  CRTC, and returns the position within this list as the MUX programming
  value for encoders.  This is sub-optimal for two reasons:
  1. It relies upon the CRTC list not changing during the lifetime of
     the driver.
  2. It is dependent on the initialisation order of the CRTCs.

  We address (1) in this patch, leaving (2) until a better solution can
  be found, as (2) requires larger changes.

- imx_drm_encoder is unused.  Instead, pass the drm_encoder which is
  slightly more useful; all callers pass encoder->crtc as the required
  crtc, so move this inside the function.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: update and fix imx6 DT descriptions for v3 HDMI driver
Russell King [Wed, 30 Oct 2013 20:10:31 +0000 (20:10 +0000)]
imx-drm: update and fix imx6 DT descriptions for v3 HDMI driver

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: add imx6 DT configuration for HDMI
Russell King [Wed, 16 Oct 2013 09:19:00 +0000 (10:19 +0100)]
imx-drm: add imx6 DT configuration for HDMI

Extracted from another patch by Fabio Estevam, this adds the DT
configuration for HDMI output on the IMX6 SoCs

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: ipu-v3: more clocking fixes
Russell King [Sun, 20 Oct 2013 14:36:35 +0000 (15:36 +0100)]
imx-drm: ipu-v3: more clocking fixes

There's no point in using the clk API for this; we end up having to
violate the layering this provides.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: ipu-v3: don't use clk_round_rate() before clk_set_rate()
Russell King [Sat, 19 Oct 2013 16:38:44 +0000 (17:38 +0100)]
imx-drm: ipu-v3: don't use clk_round_rate() before clk_set_rate()

This is nonsense; clk_round_rate() is just clk_set_rate() without the
side effect of changing the hardware.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: ipu-v3: more inteligent DI clock selection
Russell King [Sat, 19 Oct 2013 14:05:31 +0000 (15:05 +0100)]
imx-drm: ipu-v3: more inteligent DI clock selection

The DI clock selection was very rudimentary: it would statically use
either the IPU internal clock or the DI external clock depending on
which "encoder" was being used.  In the case of HDMI, it would always
use the IPU clock.

Moreover, using the IPU clock resulted in fractional divisors, which
are achieved by skipping clock pulses.  This can result in the HDMI
PHY PLL being frequency modulated, and the attached device is then
unable to properly lock on to the TMDS clock.

We need at least 1% accurate and stable clocks for HDMI.

Arrange for the DI clock to be sourced from the IPU internal clock
if it can satisfy our requirements, otherwise switch to the DI
external clock and try and set the external clock to our desired
pixel clock rate.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-hdmi: fix CTS/N setup at init time
Russell King [Thu, 7 Nov 2013 15:35:06 +0000 (15:35 +0000)]
imx-drm: imx-hdmi: fix CTS/N setup at init time

Many of the variables for the audio clock regenerator (CTS/N) were not
initialised in any way.  The pixel rate which was being used also
wasn't being adjusted at all when the display mode is modified.

Get rid of the seaprate 'pixel_clk_rate', and use the stored pixel
clock rate instead.  Pass this desired pixel clock rate into
hdmi_set_clk_regenerator().  Collapse down hdmi_init_clk_regenerator()
since it is a copy of hdmi_set_clk_regenerator(), and pass a default
pixel clock rate.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-hdmi: clean up setting of vp_conf
Russell King [Mon, 4 Nov 2013 12:55:30 +0000 (12:55 +0000)]
imx-drm: imx-hdmi: clean up setting of vp_conf

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-hdmi: provide register modification function
Russell King [Mon, 4 Nov 2013 12:42:02 +0000 (12:42 +0000)]
imx-drm: imx-hdmi: provide register modification function

There are a load of read-modify-write patterns to change bitfields in
various registers in this driver; provide a helper to perform this
manipulation.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-hdmi: clean up setting CSC registers
Russell King [Mon, 4 Nov 2013 12:10:40 +0000 (12:10 +0000)]
imx-drm: imx-hdmi: clean up setting CSC registers

Rather than manually writing each register sequentially, we can use a
loop to reduce the amount of code.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoimx-drm: imx-hdmi: convert HDMI clock settings to tabular form
Russell King [Mon, 4 Nov 2013 11:24:00 +0000 (11:24 +0000)]
imx-drm: imx-hdmi: convert HDMI clock settings to tabular form

Rather than having large if() and switch() statements, provide a table
to look up the register settings for various clock rates.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
10 years agoLinux 3.14-rc4
Linus Torvalds [Mon, 24 Feb 2014 01:40:03 +0000 (17:40 -0800)]
Linux 3.14-rc4

10 years agoMerge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
Linus Torvalds [Mon, 24 Feb 2014 01:38:04 +0000 (17:38 -0800)]
Merge tag 'fixes-for-linus' of git://git./linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "A collection of fixes for ARM platforms.  Most are fixes for DTS
  files, mostly from DT conversion on OMAP which is still finding a few
  issues here and there.

  There's a couple of small stale code removal patches that we usually
  queue for the next release instead, but they seemed harmless enough to
  bring in now.

  Also, a fix for backlight on some PXA platforms, and a cache
  configuration fix for Tegra, etc"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
  MAINTAINERS: add additional ARM BCM281xx/BCM11xxx maintainer
  ARM: tegra: only run PL310 init on systems with one
  ARM: tegra: Add head numbers to display controllers
  ARM: imx6: build pm-imx6q.c independently of CONFIG_PM
  ARM: tegra: fix RTC0 alias for Cardhu
  ARM: dove: dt: revert PMU interrupt controller node
  Documentation: dt: OMAP: Update Overo/Tobi
  ARM: dts: Add support for both OMAP35xx and OMAP36xx Overo/Tobi
  ARM: dts: omap3-tobi: Use the correct vendor prefix
  ARM: dts: omap3-tobi: Fix boot with OMAP36xx-based Overo
  ARM: OMAP2+: Remove legacy macros for zoom platforms
  ARM: OMAP2+: Remove MACH_NOKIA_N800
  ARM: dts: N900: add missing compatible property
  ARM: dts: N9/N950: fix boot hang with 3.14-rc1
  ARM: OMAP1: nokia770: enable tahvo-usb
  ARM: OMAP2+: gpmc: fix: DT ONENAND child nodes not probed when MTD_ONENAND is built as module
  ARM: OMAP2+: gpmc: fix: DT NAND child nodes not probed when MTD_NAND is built as module
  ARM: dts: omap3-gta04: Fix mmc1 properties.
  ARM: dts: omap3-gta04: Fix 'aux' gpio key flags.
  ARM: OMAP2+: add missing ARCH_HAS_OPP
  ...

10 years agoMerge tag 'regulator-v3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 24 Feb 2014 01:37:25 +0000 (17:37 -0800)]
Merge tag 'regulator-v3.14-rc4' of git://git./linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
 "Mostly unexciting driver fixes, plus one fix to lower the severity of
  the log message when we don't use an optional regulator - the fixes
  for ACPI system made this come up more often and it was correctly
  observed that it was causing undue concern for users"

* tag 'regulator-v3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: max14577: Fix invalid return value on DT parse success
  regulator: core: Change dummy supplies error message to a warning
  regulator: s5m8767: Add missing of_node_put
  regulator: s5m8767: Use of_get_child_by_name
  regulator: da9063: Bug fix when setting max voltage on LDOs 5-11

10 years agoMerge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 23 Feb 2014 22:17:08 +0000 (14:17 -0800)]
Merge branch 'timers-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull timer fix from Thomas Gleixner:
 "Serialize the registration of a new sched_clock in the currently ARM
  only generic sched_clock facilty to avoid sched_clock havoc"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched_clock: Prevent callers from seeing half-updated data

10 years agoMerge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 23 Feb 2014 22:15:46 +0000 (14:15 -0800)]
Merge branch 'x86-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull x86 fixes from Thomas Gleixner:

 - a bugfix which prevents a divide by 0 panic when the newly introduced
   try_msr_calibrate_tsc() fails

 - enablement of the Baytrail platform to utilize the newfangled msr
   based calibration

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86: tsc: Add missing Baytrail frequency to the table
  x86, tsc: Fallback to normal calibration if fast MSR calibration fails

10 years agoMerge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 23 Feb 2014 22:15:08 +0000 (14:15 -0800)]
Merge branch 'irq-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull irq fixes from Thomas Gleixner:
 "Another four fixlets to tame the ARM orion irq chip"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip: orion: Fix getting generic chip pointer.
  irqchip: orion: clear stale interrupts in irq_startup
  irqchip: orion: use handle_edge_irq on bridge irqs
  irqchip: orion: clear bridge cause register on init

10 years agoMerge tag 'usb-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Linus Torvalds [Sun, 23 Feb 2014 18:40:22 +0000 (10:40 -0800)]
Merge tag 'usb-3.14-rc4' of git://git./linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
 "Here are a number of USB fixes for reported issues for 3.14-rc4

  The majority of these are for USB gadget, phy, and musb driver issues.
  And there's a few new device ids thrown in for good measure"

* tag 'usb-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usb: chipidea: need to mask when writting endptflush and endptprime
  usb: musb: correct use of schedule_delayed_work()
  usb: phy: msm: fix compilation errors when !CONFIG_PM_SLEEP
  usb: gadget: fix NULL pointer dereference
  usb: gadget: printer: using gadget_is_otg to check otg support at runtime
  phy: let phy_provider_register be the last step in registering PHY
  phy-core: Don't allow building phy-core as a module
  phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to caller
  phy-core: phy_get: Leave error logging to the caller
  phy,phy-bcm-kona-usb2.c: Add dependency on HAS_IOMEM
  usb: musb: correct use of schedule_delayed_work()
  usb: musb: do not sleep in atomic context
  USB: serial: option: blacklist interface 4 for Cinterion PHS8 and PXS8
  USB: EHCI: add delay during suspend to prevent erroneous wakeups
  usb: gadget: bcm63xx_udc: fix build failure on DMA channel code
  usb: musb: do not sleep in atomic context
  usb: gadget: s3c2410_udc: Fix build error
  usb: musb: core: Fix remote-wakeup resume
  usb: musb: host: Fix SuperSpeed hub enumeration
  usb: musb: fix obex in g_nokia.ko causing kernel panic

10 years agoMerge tag 'tty-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Linus Torvalds [Sun, 23 Feb 2014 18:39:50 +0000 (10:39 -0800)]
Merge tag 'tty-3.14-rc4' of git://git./linux/kernel/git/gregkh/tty

Pull TTY revert from Greg KH:
 "Here is a single commit, a revert of a sysfs file change that ended up
  breaking a userspace tool"

* tag 'tty-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  Revert "tty: Set correct tty name in 'active' sysfs attribute"

10 years agoMerge tag 'staging-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
Linus Torvalds [Sun, 23 Feb 2014 18:39:21 +0000 (10:39 -0800)]
Merge tag 'staging-3.14-rc4' of git://git./linux/kernel/git/gregkh/staging

Pull staging tree fix from Greg KH:
 "Here is a single android driver fix for 3.14-rc4 that fixes a reported
  problem in the binder driver"

* tag 'staging-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: binder: Fix death notifications

10 years agoMerge tag 'char-misc-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
Linus Torvalds [Sun, 23 Feb 2014 18:38:51 +0000 (10:38 -0800)]
Merge tag 'char-misc-3.14-rc4' of git://git./linux/kernel/git/gregkh/char-misc

Pull char/misc fix from Greg KH:
 "Here is a single commit, to fix a reported problem in the mei driver"

* tag 'char-misc-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  mei: set client's read_cb to NULL when flow control fails

10 years agoMerge tag 'iio-for-3.15b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Greg Kroah-Hartman [Sun, 23 Feb 2014 17:08:34 +0000 (09:08 -0800)]
Merge tag 'iio-for-3.15b' of git://git./linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second round of IIO new driver, functionality and cleanups for the 3.15 series.

There are a few fixes in here that might, earlier in a cycle, have gone
to Greg as fixes. Given they are either minor or have never actually
been observed as causing trouble (the locking bug in the event code) and
are invasive, I have included them in this pull request, targeting the
3.15 merge window instead.

The rest are pretty uncontroversial new drivers, a handy little tool for
the example code in our documentation and little cleanups.

New drivers
* Freescale Vybrid and i.MX6SLX ADC driver.
* HID Sensor hub proximity sensors.
* HID Sensor hub pressure sensors.
* LPS25H Pressure sensors added to the ST micro pressure sensor driver.

New functionality
* lsiio tool.  This is added to the staging tree as we haven't yet moved
  the example code it sits with out.  Moving this code out is now a reasonably
  high priority but holding up this tool in the meantime did not seem
  worthwhile.
* mag3110 - add missing scale factor for temperature output to userspace.

Cleanups
* Fix a bug in the event reporting in which a spin lock might be held over
  when a sleep occured.  A similar bug was found by Lars in the buffer code.
  It has not to our knowledge been observed as actually occuring and is
  a little too invasive to push out as a fix.
* Drop the IIO_ST macro after clearing out all users.  This macro was a very
  bad idea leading to a number of bugs after it stopped covering all elements
  of the structure being assigned and people started making assumptions about
  what it did cover.  Glad to see it go!
* Avoid applying extended name to shared attributes as it makes no sense.
  No in tree drivers were using the combination, hence not pushed out as
  a fix.
* ad799x - move to devm_request_threaded_irq to reduce boilerplate clean up.
* bma180 - make the low_pass_filter_3db_frequency info element shared rather
  than per attribute.  The old approach was valid but not as clean as it might
  be and was setting a bad example.  Hence the cleanup.
* mxs-lradc - propogate the error code form a platform_get_irq call rather than
  eating it up by returning -EINVAL on all errors.
* ad799x - typo fix in the copyright message. Either that or Michael was
  asserting a copyright that moved backwards in time by about a thousand years.
* ad799x - use a regulator for vref rather than platform data.  The driver
  dates from just as the regulator framework was coming into common use so
  provides an alternative way of specifying the reference voltage.  We no
  longer need that approach so drop it in favour of a regulator only approach.
* max1363 - some internal vref values were out by a small amount.  The effect
  would have been tiny and no one noticed hence not pushing this through as
  a fix.
* core - replace some pointless goto error_ret (with no clean up) lines with
  direct returns.  This is my bad coding style so I'm glad to see it cleaned
  up.
* core - avoid a kasprintf that just directly prints a string with no
  formatting elements.  This has always been there but Lars just noticed it.
  Oops.

10 years agoiio:event: Fix and cleanup locking
Lars-Peter Clausen [Fri, 14 Feb 2014 18:49:00 +0000 (18:49 +0000)]
iio:event: Fix and cleanup locking

The event code currently holds a spinlock with IRQs disabled while calling
kfifo_to_user(). kfifo_to_user() can generate a page fault though, which means
we have to be able to sleep, which is not possible if the interrupts are
disabled. The good thing is that kfifo handles concurrent read and write access
just fine as long as there is only one reader and one writer, so we do not any
locking to protect against concurrent access from the read and writer thread. It
is possible though that userspace is trying to read from the event FIFO from
multiple concurrent threads, so we need to add locking to protect against this.
This is done using a mutex. The mutex will only protect the kfifo_to_user()
call, it will not protect the waitqueue. This means that multiple threads can be
waiting for new data and once a new event is added to the FIFO all waiting
threads will be woken up. If one of those threads is unable to read any data
(because another thread already read all the data) it will go back to sleep. The
only remaining issue is that now that the clearing of the BUSY flag and the
emptying of the FIFO does no longer happen in one atomic step it is possible
that a event is added to the FIFO after it has been emptied and this sample will
be visible the next time a new event file descriptor is created. To avoid this
rather move the emptying of the FIFO from iio_event_chrdev_release to
iio_event_getfd().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
10 years agoMAINTAINERS: add additional ARM BCM281xx/BCM11xxx maintainer
Matt Porter [Fri, 14 Feb 2014 15:15:03 +0000 (10:15 -0500)]
MAINTAINERS: add additional ARM BCM281xx/BCM11xxx maintainer

Add myself as an additional maintainer for the Broadcom mobile
SoCs.

Signed-off-by: Matt Porter <mporter@linaro.org>
Acked-by: Christian Daudt <bcm@fixthebug.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge remote-tracking branches 'regulator/fix/da9063', 'regulator/fix/max14577' and...
Mark Brown [Sun, 23 Feb 2014 03:22:18 +0000 (12:22 +0900)]
Merge remote-tracking branches 'regulator/fix/da9063', 'regulator/fix/max14577' and 'regulator/fix/s5m8767' into regulator-linus

10 years agoMerge remote-tracking branch 'regulator/fix/core' into regulator-linus
Mark Brown [Sun, 23 Feb 2014 03:22:18 +0000 (12:22 +0900)]
Merge remote-tracking branch 'regulator/fix/core' into regulator-linus