Re: [PATCH] ASoC: fsl_ssi: fix AC'97 mode

2015-06-27 Thread Timur Tabi
Maciej S. Szmigiero wrote: + if (newbinding && fsl_ssi_is_ac97(ssi_private)) { Is the "newbinding" necessary? I thought only the original PowerPC device trees were the only one that have the old binding, and they never supported AC97. ___ Li

Re: [PATCH] ASoC: fsl_ssi: fix AC'97 mode

2015-06-27 Thread Maciej S. Szmigiero
Hello Fabio, W dniu 28.06.2015 01:06, Fabio Estevam pisze: > Hi Maciej, > > On Sat, Jun 27, 2015 at 7:51 PM, Maciej S. Szmigiero > wrote: >> Currently the AC'97 mode in fsl_ssi driver isn't functional. > > Thanks for the fix. I look forward to test it on my udoo board. Thanks. >> This patch i

[PATCH] ASoC: fsl_ssi: fix AC'97 mode

2015-06-27 Thread Maciej S. Szmigiero
Currently the AC'97 mode in fsl_ssi driver isn't functional. This patch implements the following changes to make it work properly: * IPG clock have to be enabled during AC'97 CODEC register access, * AC'97 DAI driver struct need the same probe method as I2S one to setup DMA params, * AC'97 bus can

[RFC v3 17/24] nvram: Drop nvram_* symbol exports and prototypes

2015-06-27 Thread Finn Thain
Drivers now use the arch_nvram_ops calls so remove the function exports and prototypes. nvram_check_checksum() is unused so remove it. Signed-off-by: Finn Thain --- arch/m68k/atari/nvram.c |6 +++--- drivers/char/nvram.c| 27 +-- include/linux/nvram.h |8

[RFC v3 16/24] powerpc, fbdev: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()

2015-06-27 Thread Finn Thain
Make use of arch_nvram_ops in device drivers so that the nvram_* function exports can be removed. Since they are no longer global symbols, rename the PPC32 nvram_* functions appropriately. Add the missing CONFIG_NVRAM test to imsttfb to avoid a build failure. Signed-off-by: Finn Thain --- arc

[RFC v3 21/24] m68k/mac: Adopt naming and calling conventions for PRAM routines

2015-06-27 Thread Finn Thain
Adopt the existing *_read_byte and *_write_byte naming convention. Rename via_pram_readbyte and via_pram_writebyte to avoid confusion. Adjust calling conventions of mac_pram_* functions to match the arch_nvram_ops struct methods. Signed-off-by: Finn Thain --- Changes since v1: - Don't introduce

[RFC v3 23/24] m68k/mac: Fix PRAM accessors

2015-06-27 Thread Finn Thain
Signed-off-by: Finn Thain --- Tested on a PowerBook 520 and Quadra 650. Changes since v2: - Make use of the RTC_* macros from the previous patch and add a few more besides. --- arch/m68k/mac/misc.c | 39 +-- include/uapi/linux/pmu.h |2 ++ 2 files

[RFC v3 24/24] m68k: Dispatch nvram_ops calls to Atari or Mac functions

2015-06-27 Thread Finn Thain
A multi-platform kernel binary needs to decide at run-time how to dispatch the arch_nvram_ops calls. Add platform-independent arch_nvram_ops, for use when multiple platform-specific NVRAM ops implementations are needed. Enable CONFIG_HAVE_ARCH_NVRAM_OPS for Macs. Signed-off-by: Finn Thain ---

[RFC v3 22/24] m68k/mac: Use macros for RTC accesses not magic numbers

2015-06-27 Thread Finn Thain
Signed-off-by: Finn Thain --- This is intended to improve code style and not affect code behaviour. I've tested this on a Quadra 650. I don't know the meanings of the 4 undocumented write protect register bits 0x55, so I decided against defining 4 macros for those bits. --- arch/m68k/mac/misc

[RFC v3 20/24] powerpc: Adopt nvram module for PPC64

2015-06-27 Thread Finn Thain
Adopt nvram module to reduce code duplication. The IOC_NVRAM_GET_OFFSET ioctl as implemented on PPC64 validates the offset returned by pmac_get_partition(). Add this test to the nvram module. Note that the old PPC32 generic_nvram module lacked this test. So when CONFIG_PPC32 && CONFIG_PPC_PMAC, t

[RFC v3 19/24] char/generic_nvram: Remove as unused

2015-06-27 Thread Finn Thain
And thus eliminate some twisted CONFIG_GENERIC_NVRAM logic. Signed-off-by: Finn Thain --- drivers/char/Makefile|6 - drivers/char/generic_nvram.c | 176 --- 2 files changed, 1 insertion(+), 181 deletions(-) Index: linux/drivers/char/Makefile

[RFC v3 15/24] powerpc: Implement nvram sync ioctl

2015-06-27 Thread Finn Thain
Add the powerpc-specific sync() method to struct nvram_ops and implement the corresponding ioctl in the nvram module. This allows the nvram module to replace the generic_nvram module. Signed-off-by: Finn Thain --- On PPC32, the IOC_NVRAM_SYNC ioctl call always returns 0, even for those platform

[RFC v3 18/24] powerpc: Remove CONFIG_GENERIC_NVRAM and adopt CONFIG_HAVE_ARCH_NVRAM_OPS

2015-06-27 Thread Finn Thain
Switch PPC32 kernels from the generic_nvram module to the nvram module. Also fix a theoretical bug where CHRP omits the chrp_nvram_init() call when CONFIG_NVRAM_MODULE=m. As before, when CONFIG_PPC && !CONFIG_PPC_PMAC, the IOC_NVRAM_GET_OFFSET ioctl is unimplemented. For the nvram module, unimple

[RFC v3 05/24] char/nvram: Adopt arch_nvram_ops

2015-06-27 Thread Finn Thain
Different platforms and architectures offer different NVRAM sizes and access methods. E.g. PPC32 has byte-at-a-time read/write functions whereas PPC64 has byte-range read/write functions. Adopt the nvram_ops struct so the nvram module can call such functions as are defined by the various platforms

[RFC v3 13/24] powerpc: Add missing ppc_md.nvram_size for CHRP and PowerMac

2015-06-27 Thread Finn Thain
Add the nvram_size() function to those PowerPC platforms that don't already have one: CHRP and PowerMac. This means that the ppc_md.nvram_size() function can be used to implement arch_nvram_ops.get_size() Since we are addressing inconsistencies here, also rename chrp_nvram_read and chrp_nvram_writ

[RFC v3 09/24] char/nvram: Use generic fixed_size_llseek()

2015-06-27 Thread Finn Thain
Signed-off-by: Finn Thain --- drivers/char/nvram.c | 16 +--- 1 file changed, 1 insertion(+), 15 deletions(-) Index: linux/drivers/char/nvram.c === --- linux.orig/drivers/char/nvram.c 2015-06-28 11:41:37.0

[RFC v3 08/24] char/nvram: Implement NVRAM read/write methods

2015-06-27 Thread Finn Thain
Refactor the RTC "CMOS" NVRAM functions so that they can be used as arch_nvram_ops methods. Checksumming logic is moved from the misc device operations to the nvram read/write operations. This makes the misc device implementation more generic. This also preserves the locking semantics such that "r

[RFC v3 06/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()

2015-06-27 Thread Finn Thain
Make use of arch_nvram_ops in the thinkpad_acpi driver so that the nvram_* function exports can be removed. This patch series was tested on a ThinkPad T43. Signed-off-by: Finn Thain Acked-by: Henrique de Moraes Holschuh Reviewed-by: Darren Hart --- drivers/platform/x86/thinkpad_acpi.c | 20

[RFC v3 14/24] powerpc: Implement arch_nvram_ops.get_size() and remove old nvram_* exports

2015-06-27 Thread Finn Thain
Implement arch_nvram_ops for PPC32 and make use of it in the generic_nvram misc device module so that the nvram_* function exports can be removed. Signed-off-by: Finn Thain --- arch/powerpc/include/asm/nvram.h |3 --- arch/powerpc/kernel/setup_32.c | 10 +++--- drivers/char/generic_

[RFC v3 11/24] char/nvram: Add "devname:nvram" module alias

2015-06-27 Thread Finn Thain
Signed-off-by: Finn Thain --- drivers/char/nvram.c |1 + 1 file changed, 1 insertion(+) Index: linux/drivers/char/nvram.c === --- linux.orig/drivers/char/nvram.c 2015-06-28 11:41:38.0 +1000 +++ linux/drivers/char/nv

[RFC v3 10/24] m68k/atari: Implement arch_nvram_ops methods and enable CONFIG_HAVE_ARCH_NVRAM_OPS

2015-06-27 Thread Finn Thain
Atari RTC NVRAM has a checksum so implement the remaining arch_nvram_ops methods for the set_checksum and initialize ioctls. Enable CONFIG_HAVE_ARCH_NVRAM_OPS. Signed-off-by: Finn Thain --- This re-enables the nvram module for Atari. --- arch/m68k/Kconfig |3 +++ arch/m68k/atari/nvr

[RFC v3 07/24] char/nvram: Allow the set_checksum and initialize ioctls to be omitted

2015-06-27 Thread Finn Thain
The drivers/char/nvram module has previously only supported RTC "CMOS" NVRAM, for which it provides appropriate checksum ioctls. Make these ioctls optional so the module can be re-used with other kinds of NVRAM. The ops struct methods that implement the ioctls now return error codes so that a mult

[RFC v3 12/24] powerpc: Cleanup nvram includes

2015-06-27 Thread Finn Thain
The nvram_read_byte() and nvram_write_byte() definitions in asm/nvram.h duplicate those in linux/nvram.h. Get rid of the former to prepare for adoption of struct arch_nvram_ops (which is defined in linux/nvram.h for general use). Signed-off-by: Finn Thain --- arch/powerpc/include/asm/nvram.h

[RFC v3 02/24] m68k/atari: Move Atari-specific code out of drivers/char/nvram.c

2015-06-27 Thread Finn Thain
Move the m68k-specific code elsewhere to make the driver generic. Change the vmode calculation from logical OR to bitwise OR, since it is obviously wrong. Signed-off-by: Finn Thain --- BTW, I didn't change the SCSI ID location in NVRAM. This code says 16 whereas atari_scsi says 14. Which one i

[RFC v3 01/24] scsi/atari_scsi: Dont select CONFIG_NVRAM

2015-06-27 Thread Finn Thain
On powerpc, setting CONFIG_NVRAM=n builds a kernel with no NVRAM support. Setting CONFIG_NVRAM=m enables the /dev/nvram misc device module without enabling NVRAM support in drivers. Setting CONFIG_NVRAM=y enables the misc device (built-in) and also enables NVRAM support in drivers. m68k shares the

[RFC v3 00/24] Re-use nvram module

2015-06-27 Thread Finn Thain
The generic NVRAM module, drivers/char/generic_nvram, implements a /dev/nvram misc device. It is used only by 32-bit PowerPC platforms and isn't generic enough to be more widely used. The RTC NVRAM module, drivers/char/nvram, also implements a /dev/nvram misc device. It is used by x86, ARM and m6

[RFC v3 04/24] char/nvram: Re-order functions to remove forward declarations and #ifdefs

2015-06-27 Thread Finn Thain
Also give functions more sensible names: nvram_misc_* for misc device ops, nvram_proc_* for proc file ops and nvram_module_* for init and exit functions. This makes them distict from nvram_ops members. Signed-off-by: Finn Thain --- drivers/char/nvram.c | 194 ++-

[RFC v3 03/24] m68k/atari: Replace nvram_{read, write}_byte with arch_nvram_ops

2015-06-27 Thread Finn Thain
By implementing an arch_nvram_ops struct, any platform can re-use the drivers/char/nvram module without needing any arch-specific code in that module. Atari does so here. Atari has one user of nvram_check_checksum() whereas the other platforms (i.e. x86 and ARM platforms) have none at all. Replace

[PATCH] udc:Make the function txcomplete have a return type of void

2015-06-27 Thread Nicholas Krause
This makes the function txcomplete have a return type of void now due to this particular function always running successfully nor its callers checking/using the return value from this particular function in their own internal work. Signed-off-by: Nicholas Krause --- drivers/usb/gadget/udc/fsl_qe

Re: [PATCH] ASoC: fsl_ssi: fix AC'97 mode

2015-06-27 Thread Fabio Estevam
On Sat, Jun 27, 2015 at 7:51 PM, Maciej S. Szmigiero wrote: > + > + ret = clk_prepare_enable(fsl_ac97_data->clk); > + if (ret) { > + pr_err("ac97 read clk_prepare_enable failed: %d\n", > + ret); > + return -1; 'return ret' would be be

Re: [PATCH] ASoC: fsl_ssi: fix AC'97 mode

2015-06-27 Thread Fabio Estevam
Hi Maciej, On Sat, Jun 27, 2015 at 7:51 PM, Maciej S. Szmigiero wrote: > Currently the AC'97 mode in fsl_ssi driver isn't functional. Thanks for the fix. I look forward to test it on my udoo board. > This patch implements the following changes to make it work > properly: > * IPG clock have to b

[PATCH] udc:Make various functions have a return type of void in the file fsl_qe_udc.c

2015-06-27 Thread Nicholas Krause
This makes various USB and Endpoint manipulation functions have a return type of void now due to these particular functions always running to completion successfully nor their callers putting the return value when calling one of these functions into a variable to check/use later in their own intend