VERSION = 3
PATCHLEVEL = 18
- SUBLEVEL = 0
+ SUBLEVEL = 9
EXTRAVERSION =
-NAME = Diseased Newt
+NAME = Shuffling Zombie Juror
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
libs-$(CONFIG_EFI_STUB) += drivers/firmware/efi/libstub/
# Default target when executing plain make
+ifeq ($(CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE),y)
+KBUILD_IMAGE := Image.gz-dtb
+else
KBUILD_IMAGE := Image.gz
+endif
+
KBUILD_DTBS := dtbs
- all: $(KBUILD_IMAGE) $(KBUILD_DTBS)
+ all: $(KBUILD_IMAGE) $(KBUILD_DTBS) zImage
boot := arch/arm64/boot
# Based on the ia64 boot/Makefile.
#
- targets := Image Image.gz
+include $(srctree)/arch/arm64/boot/dts/Makefile
+
+ targets := Image Image.gz zImage
+DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES))
+ifneq ($(DTB_NAMES),)
+DTB_LIST := $(addsuffix .dtb,$(DTB_NAMES))
+else
+DTB_LIST := $(dtb-y)
+endif
+DTB_OBJS := $(addprefix $(obj)/dts/,$(DTB_LIST))
+
$(obj)/Image: vmlinux FORCE
$(call if_changed,objcopy)
$(obj)/Image.gz: $(obj)/Image FORCE
$(call if_changed,gzip)
+$(obj)/Image.gz-dtb: $(obj)/Image.gz $(DTB_OBJS) FORCE
+ $(call if_changed,cat)
+
+ $(obj)/zImage: $(obj)/Image FORCE
+ $(call if_changed,gzip)
+
install: $(obj)/Image
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \
$(obj)/Image System.map "$(INSTALL_PATH)"
dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb
targets += dtbs
-targets += $(dtb-y)
+ dtb-$(CONFIG_MACH_EXUMA) += tegra132-exuma.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-norrin-pm374-0001-a00-00.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-norrin-pm374-0001-a01-00.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-norrin-tegrasim.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-laguna.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-bowmore-e1973-1000-a01-00.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-bowmore-e1971-1100-a00-00.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-bowmore-e1971-1100-a00-00-pcie.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-bowmore-e1971-1100-a00-00-powerconfig.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-tn8-p1761-1270-a03.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-interposer-e2141-1100-a00-00.dtb
+ dtb-$(CONFIG_MACH_T132REF) += tegra132-interposer-e2141-1100-a00-00-cboot.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-grenada.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-e2190-1100-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-e2220-1100-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-e2220-1199-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-e2220-1180-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-p2530-0930-e00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-p2530-0930-e01-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-hdd-p2530-0932-e00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-hdd-p2530-0932-e01-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0031-e00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0031-e01-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0031-e02-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0031-e03-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0131-e00-00.dts
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0131-e01-00.dts
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-p2530-0131-e02-00.dts
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-vcm30t210.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-vcm30t210.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-e2581-0930-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-e2581-0930-a01-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-e2581-0031-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-e2581-0031-a01-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-e2581-0131-a00-00.dts
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-loki-e-e2581-0131-a01-00.dts
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-jetson-e-p2595-0000-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-hawkeye-p2290-a00-00.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_18x_SOC) += tegra186-sim-cl33688874.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_18x_SOC) += tegra186-sim-cl33759297.dtb
+ dtb-$(CONFIG_ARCH_TEGRA_18x_SOC) += tegra186-sim-cl33823014.dtb
+
+ DTC_FLAGS := -i $(srctree)/arch/arm/boot/dts
+ ifeq ($(CONFIG_ARCH_TEGRA_18x_SOC),y)
+ DTC_FLAGS += -i $(srctree)/../kernel-t18x/arch/arm64/boot/dts
+ endif
+
+ DTCCPP_FLAGS := -I$(srctree)/arch/arm/boot/dts
+ ifeq ($(CONFIG_ARCH_TEGRA_18x_SOC),y)
+ DTCCPP_FLAGS += -I$(srctree)/../kernel-t18x/arch/arm64/boot/dts
+ endif
-dtbs: $(addprefix $(obj)/, $(dtb-y))
+DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES))
+ifneq ($(DTB_NAMES),)
+DTB_LIST := $(addsuffix .dtb,$(DTB_NAMES))
+else
+DTB_LIST := $(dtb-y)
+endif
+targets += $(DTB_LIST)
+
+dtbs: $(addprefix $(obj)/, $(DTB_LIST))
-clean-files := *.dtb
+clean-files := dts/*.dtb *.dtb
case __SI_MESGQ: /* But this is */
err |= __put_user(from->si_pid, &to->si_pid);
err |= __put_user(from->si_uid, &to->si_uid);
- err |= __put_user((compat_uptr_t)(unsigned long)from->si_ptr, &to->si_ptr);
+ err |= __put_user(from->si_int, &to->si_int);
break;
+#ifdef __ARCH_SIGSYS
+ case __SI_SYS:
+ err |= __put_user((compat_uptr_t)(unsigned long)
+ from->si_call_addr, &to->si_call_addr);
+ err |= __put_user(from->si_syscall, &to->si_syscall);
+ err |= __put_user(from->si_arch, &to->si_arch);
+ break;
+#endif
default: /* this is just in case for now ... */
err |= __put_user(from->si_pid, &to->si_pid);
err |= __put_user(from->si_uid, &to->si_uid);
cur_time = get_jiffies_64();
spin_lock(&cpufreq_stats_lock);
stat = per_cpu(cpufreq_stats_table, cpu);
- if (stat->time_in_state && stat->last_index >= 0)
+ all_stat = per_cpu(all_cpufreq_stats, cpu);
+ if (!stat) {
+ spin_unlock(&cpufreq_stats_lock);
+ return 0;
+ }
- if (stat->time_in_state) {
++ if (stat->time_in_state && stat->last_index >= 0) {
stat->time_in_state[stat->last_index] +=
cur_time - stat->last_time;
+ if (all_stat)
+ all_stat->time_in_state[stat->last_index] +=
+ cur_time - stat->last_time;
+ }
stat->last_time = cur_time;
spin_unlock(&cpufreq_stats_lock);
return 0;
cpufreq_cpu_put(policy);
}
+static void cpufreq_allstats_free(void)
+{
+ int cpu;
+ struct all_cpufreq_stats *all_stat;
+
+ sysfs_remove_file(cpufreq_global_kobject,
+ &_attr_all_time_in_state.attr);
+
+ for_each_possible_cpu(cpu) {
+ all_stat = per_cpu(all_cpufreq_stats, cpu);
+ if (!all_stat)
+ continue;
+ kfree(all_stat->time_in_state);
+ kfree(all_stat);
+ per_cpu(all_cpufreq_stats, cpu) = NULL;
+ }
+ if (all_freq_table) {
+ kfree(all_freq_table->freq_table);
+ kfree(all_freq_table);
+ all_freq_table = NULL;
+ }
+}
+
static int __cpufreq_stats_create_table(struct cpufreq_policy *policy)
{
- unsigned int i, count = 0, ret = 0;
+ unsigned int i, j, k, count = 0, ret = 0;
struct cpufreq_stats *stat;
unsigned int alloc_size;
unsigned int cpu = policy->cpu;
To compile this driver as a module, choose M here: the
module will be called apm-power.
+config INPUT_KEYRESET
+ tristate "Reset key"
+ depends on INPUT
+ select INPUT_KEYCOMBO
+ ---help---
+ Say Y here if you want to reboot when some keys are pressed;
+
+ To compile this driver as a module, choose M here: the
+ module will be called keyreset.
+
+config INPUT_KEYCOMBO
+ tristate "Key combo"
+ depends on INPUT
+ ---help---
+ Say Y here if you want to take action when some keys are pressed;
+
+ To compile this driver as a module, choose M here: the
+ module will be called keycombo.
+ config INPUT_CFBOOST
+ tristate "Input event CPU frequency booster"
+ depends on INPUT && CPU_FREQ
+ help
+ Say Y here if you want to temporarily boost CPU frequency upon input
+ events.
+
+ To compile this driver as a module, choose M here: the
+ module will be called input-cfboost.
comment "Input Device Drivers"
obj-$(CONFIG_INPUT_MISC) += misc/
obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o
+obj-$(CONFIG_INPUT_KEYRESET) += keyreset.o
+obj-$(CONFIG_INPUT_KEYCOMBO) += keycombo.o
+ obj-$(CONFIG_INPUT_CFBOOST) += input-cfboost.o
#
# Makefile for physical layer USB drivers
#
+ GCOV_PROFILE_tegra-otg.o := y
+ GCOV_PROFILE_tegra-xotg.o := y
+
obj-$(CONFIG_USB_PHY) += phy.o
obj-$(CONFIG_OF) += of.o
-
+obj-$(CONFIG_USB_OTG_WAKELOCK) += otg-wakelock.o
# transceiver drivers, keep the list sorted
obj-$(CONFIG_AB8500_USB) += phy-ab8500-usb.o
endmenu
source "drivers/video/backlight/Kconfig"
+source "drivers/video/adf/Kconfig"
+ source "drivers/video/tegra/Kconfig"
+
config VGASTATE
tristate
default n
struct persistent_ram_zone **przs;
struct persistent_ram_zone *cprz;
struct persistent_ram_zone *fprz;
+ struct persistent_ram_zone *mprz;
phys_addr_t phys_addr;
unsigned long size;
+ unsigned int memtype;
size_t record_size;
size_t console_size;
size_t ftrace_size;
TP_ARGS(name, state, cpu_id)
);
+TRACE_EVENT(clock_set_parent,
+
+ TP_PROTO(const char *name, const char *parent_name),
+
+ TP_ARGS(name, parent_name),
+
+ TP_STRUCT__entry(
+ __string( name, name )
+ __string( parent_name, parent_name )
+ ),
+
+ TP_fast_assign(
+ __assign_str(name, name);
+ __assign_str(parent_name, parent_name);
+ ),
+
+ TP_printk("%s parent=%s", __get_str(name), __get_str(parent_name))
+);
+
+ DEFINE_EVENT(clock, clock_set_start,
+
+ TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
+
+ TP_ARGS(name, state, cpu_id)
+ );
+
+ DEFINE_EVENT(clock, clock_set_done,
+
+ TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
+
+ TP_ARGS(name, state, cpu_id)
+ );
+
/*
* The power domain events are used for power domains transitions
*/
ifeq ($(CONFIG_TRACING),y)
obj-$(CONFIG_KGDB_KDB) += trace_kdb.o
endif
+ obj-$(CONFIG_TRACELEVEL) += tracelevel.o
+ obj-$(CONFIG_TRACEDUMP) += tracedump.o
obj-$(CONFIG_PROBE_EVENTS) += trace_probe.o
obj-$(CONFIG_UPROBE_EVENT) += trace_uprobe.o
+obj-$(CONFIG_GPU_TRACEPOINTS) += gpu-traces.o
obj-$(CONFIG_TRACEPOINT_BENCHMARK) += trace_benchmark.o