From: Mark Brown <broonie(a)linaro.org>
Since there is no architecture dependency in the code allow it to be built
on any platform when COMPILE_TEST is enabled.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
sound/soc/tegra/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/tegra/Kconfig b/sound/soc/tegra/Kconfig
index 995b120..cd168a7 100644
--- a/sound/soc/tegra/Kconfig
+++ b/sound/soc/tegra/Kconfig
@@ -1,6 +1,6 @@
config SND_SOC_TEGRA
tristate "SoC Audio for the Tegra System-on-Chip"
- depends on ARCH_TEGRA && TEGRA20_APB_DMA
+ depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
select REGMAP_MMIO
select SND_SOC_GENERIC_DMAENGINE_PCM if TEGRA20_APB_DMA
help
--
1.8.3.2
Hi All
I built a 'latest' kernel following the receipe, I tried t boot it and
got a panic right away.
.
.
.
INIT: version 2.88 booting
init[390]: undefined instruction: pc=0000007f988b64b8
Code: 2947bcce d50339bf b94038cd d5033fdf (d53be029)
init[1]: undefined instruction: pc=0000007f988b64b8
Code: 2947bcce d50339bf b94038cd d5033fdf (d53be029)
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
Call trace:
[<ffffffc000087568>] dump_backtrace+0x0/0x12c
[<ffffffc0003a3ff0>] dump_stack+0x14/0x1c
[<ffffffc0003a4240>] panic+0xe8/0x214
[<ffffffc0000986ec>] do_exit+0x748/0x7ac
[<ffffffc000098acc>] do_group_exit+0x3c/0xcc
[<ffffffc0000a3e0c>] get_signal_to_deliver+0x150/0x48c
[<ffffffc000086ee8>] do_signal+0x5a4/0x5cc
[<ffffffc000087174>] do_notify_resume+0x7c/0x8c
=========================================
Here are the build element.
FM000-KT-00035-r0p8-48rel5.tgz
gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux.tar.bz2
gits for
boot-wrapper-aarch64 linaro-aarch64
Initial testing
vexpress64-openembedded_lamp-armv8_20130623-376.img.gz
img-foundation.axf
The initial boot works fine from the FM000-KT-00035-r0p8-48rel5.tgz
using the vexpress64-openembedded_lamp-armv8_20130623-376.img.gz
image.
Then I build linaro-aarch64 using
tsocks git clone git://git.linaro.org/kernel/linaro-aarch64.git
Tools chain OK and build OK
Then I build the
make CROSS_COMPILE=aarch64-linux-gnu- BOOTARGS='"root=/dev/vda2 consolelog=9 rw
console=ttyAMA0"' IMAGE=linux-system-foundation.axf
Symlink to files are k and the build is ok
Then I boot the same way I boot the prebuild
./Foundation_v8 --image boot.axf --block-device ./root.img --network=nat
I copy in boot.axf the linux-system-foundation.axf and got panic, I
copy back the prebuild img-foundation.axf and it boot OK
My linux-system-foundation has my kernel Image inside.
Any ideas?
Cheers,
Phi
The commit 19976c2a88d125aec16b9255c7197c297bbdd637 changed the target
residency to 100000, assuming this is a careless mistake.
commit 19976c2a88d125aec16b9255c7197c297bbdd637
Author: Robert Lee <rob.lee(a)linaro.org>
Date: Tue Mar 20 15:22:45 2012 -0500
ARM: davinci: Consolidate time keeping and irq enable
Enable core cpuidle timekeeping and irq enabling and remove that
handling from this code.
Signed-off-by: Robert Lee <rob.lee(a)linaro.org>
Reviewed-by: Kevin Hilman <khilman(a)ti.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano(a)linaro.org>
Acked-by: Jean Pihet <j-pihet(a)ti.com>
Signed-off-by: Len Brown <len.brown(a)intel.com>
The same happened to the at91's cpuidle driver.
Fix it by putting the initial value to 10000.
Signed-off-by: Daniel Lezcano <daniel.lezcano(a)linaro.org>
---
arch/arm/mach-davinci/cpuidle.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-davinci/cpuidle.c b/arch/arm/mach-davinci/cpuidle.c
index 36aef3a..f1ac1c9 100644
--- a/arch/arm/mach-davinci/cpuidle.c
+++ b/arch/arm/mach-davinci/cpuidle.c
@@ -65,7 +65,7 @@ static struct cpuidle_driver davinci_idle_driver = {
.states[1] = {
.enter = davinci_enter_idle,
.exit_latency = 10,
- .target_residency = 100000,
+ .target_residency = 10000,
.flags = CPUIDLE_FLAG_TIME_VALID,
.name = "DDR SR",
.desc = "WFI and DDR Self Refresh",
--
1.7.9.5
From: Mark Brown <broonie(a)linaro.org>
The version number has never been updated and the printk isn't based on
any interaction with the device.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
sound/soc/codecs/pcm3008.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/sound/soc/codecs/pcm3008.c b/sound/soc/codecs/pcm3008.c
index f2a6282..32e5a59 100644
--- a/sound/soc/codecs/pcm3008.c
+++ b/sound/soc/codecs/pcm3008.c
@@ -28,8 +28,6 @@
#include "pcm3008.h"
-#define PCM3008_VERSION "0.2"
-
#define PCM3008_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
SNDRV_PCM_RATE_48000)
@@ -64,8 +62,6 @@ static int pcm3008_soc_probe(struct snd_soc_codec *codec)
struct pcm3008_setup_data *setup = codec->dev->platform_data;
int ret = 0;
- printk(KERN_INFO "PCM3008 SoC Audio Codec %s\n", PCM3008_VERSION);
-
/* DEM1 DEM0 DE-EMPHASIS_MODE
* Low Low De-emphasis 44.1 kHz ON
* Low High De-emphasis OFF
--
1.8.3.2
From: Mark Brown <broonie(a)linaro.org>
Allow drivers to avoid implementing their own checks for simple rates by
specifying the limits in the master structure.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
drivers/spi/spi.c | 7 +++++++
include/linux/spi/spi.h | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 978dda2..a52f166 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1387,6 +1387,13 @@ static int __spi_async(struct spi_device *spi, struct spi_message *message)
BIT(xfer->bits_per_word - 1)))
return -EINVAL;
}
+
+ if (xfer->speed_hz && master->min_speed_hz &&
+ xfer->speed_hz < master->min_speed_hz)
+ return -EINVAL;
+ if (xfer->speed_hz && master->max_speed_hz &&
+ xfer->speed_hz > master->max_speed_hz)
+ return -EINVAL;
}
message->spi = spi;
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 28e440b..cdf6681 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -233,6 +233,8 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv)
* suported. If set, the SPI core will reject any transfer with an
* unsupported bits_per_word. If not set, this value is simply ignored,
* and it's up to the individual driver to perform any validation.
+ * @min_speed_hz: Lowest supported transfer speed
+ * @max_speed_hz: Highest supported transfer speed
* @flags: other constraints relevant to this driver
* @bus_lock_spinlock: spinlock for SPI bus locking
* @bus_lock_mutex: mutex for SPI bus locking
@@ -312,6 +314,10 @@ struct spi_master {
#define SPI_BIT_MASK(bits) (((bits) == 32) ? ~0UL : (BIT(bits) - 1))
#define SPI_BPW_RANGE_MASK(min, max) (SPI_BIT_MASK(max) - SPI_BIT_MASK(min - 1))
+ /* limits on transfer speed */
+ u32 min_speed_hz;
+ u32 max_speed_hz;
+
/* other constraints relevant to this driver */
u16 flags;
#define SPI_MASTER_HALF_DUPLEX BIT(0) /* can't do full duplex */
--
1.8.3.2
From: Mark Brown <broonie(a)linaro.org>
It is not used outside of this file so doesn't need to be in the global
namespace.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
drivers/of/platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index e0a6514..b0d1ff8 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -196,7 +196,7 @@ EXPORT_SYMBOL(of_device_alloc);
* Returns pointer to created platform device, or NULL if a device was not
* registered. Unavailable devices will not get registered.
*/
-struct platform_device *of_platform_device_create_pdata(
+static struct platform_device *of_platform_device_create_pdata(
struct device_node *np,
const char *bus_id,
void *platform_data,
--
1.8.3.2