diff --git a/debug-tty-print-dev-name.patch b/debug-tty-print-dev-name.patch deleted file mode 100644 index 5c06dd9..0000000 --- a/debug-tty-print-dev-name.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c -index 878f6d6..8d6867d 100644 ---- a/drivers/tty/tty_io.c -+++ b/drivers/tty/tty_io.c -@@ -1329,7 +1330,11 @@ static int tty_reopen(struct tty_struct *tty) - tty->driver = driver; /* N.B. why do this every time?? */ - - mutex_lock(&tty->ldisc_mutex); -- WARN_ON(!test_bit(TTY_LDISC, &tty->flags)); -+ if (!test_bit(TTY_LDISC, &tty->flags)) { -+ printk("%s: !test_bit(TTY_LDISC, &tty->flags) dev=%s ldisc=%s flags=%x\n", -+ __func__, tty->name, tty->ldisc ? tty->ldisc->ops ? tty->ldisc->ops->name : NULL : NULL, tty->flags); -+ WARN_ON(1); -+ } - mutex_unlock(&tty->ldisc_mutex); - - return 0; diff --git a/kernel.spec b/kernel.spec index 5155fb1..6adf903 100644 --- a/kernel.spec +++ b/kernel.spec @@ -52,7 +52,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be prepended with "0.", so # for example a 3 here will become 0.3 # -%global baserelease 1 +%global baserelease 3 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -85,7 +85,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 2 # The git snapshot level -%define gitrev 0 +%define gitrev 1 # Set rpm version accordingly %define rpmversion 2.6.%{upstream_sublevel} %endif @@ -710,6 +710,8 @@ Patch2918: flexcop-fix-xlate_proc_name-warning.patch # patches headed upstream +Patch12001: perf-gcc460-build-fixes.patch + Patch12010: add-appleir-usb-driver.patch Patch12016: disable-i8042-check-on-apple-mac.patch @@ -718,8 +720,6 @@ Patch12017: prevent-runtime-conntrack-changes.patch Patch12018: neuter_intel_microcode_load.patch -Patch12030: tpm-fix-stall-on-boot.patch - Patch12101: apple_backlight.patch Patch12102: efifb_update.patch Patch12200: acpi_reboot.patch @@ -733,8 +733,6 @@ Patch12205: runtime_pm_fixups.patch Patch12303: dmar-disable-when-ricoh-multifunction.patch -Patch12401: debug-tty-print-dev-name.patch - Patch12421: fs-call-security_d_instantiate-in-d_obtain_alias.patch # Xen patches @@ -1329,15 +1327,14 @@ ApplyOptionalPatch linux-2.6-v4l-dvb-experimental.patch ApplyPatch flexcop-fix-xlate_proc_name-warning.patch # Patches headed upstream +ApplyPatch perf-gcc460-build-fixes.patch + ApplyPatch disable-i8042-check-on-apple-mac.patch ApplyPatch add-appleir-usb-driver.patch ApplyPatch neuter_intel_microcode_load.patch -# try to fix stalls during boot (#530393) -ApplyPatch tpm-fix-stall-on-boot.patch - # various fixes for Apple and EFI ApplyPatch apple_backlight.patch ApplyPatch efifb_update.patch @@ -1346,16 +1343,14 @@ ApplyPatch efi_default_physical.patch # Runtime PM ApplyPatch linux-2.6-ehci-check-port-status.patch -ApplyPatch linux-2.6-usb-pci-autosuspend.patch -#ApplyPatch linux-2.6-enable-more-pci-autosuspend.patch +#ApplyPatch linux-2.6-usb-pci-autosuspend.patch +### Broken by implicit notify support & ACPICA rebase +###ApplyPatch linux-2.6-enable-more-pci-autosuspend.patch #ApplyPatch runtime_pm_fixups.patch # rhbz#605888 ApplyPatch dmar-disable-when-ricoh-multifunction.patch -# rhbz#630464 -ApplyPatch debug-tty-print-dev-name.patch - # rhbz#662344,600690 ApplyPatch fs-call-security_d_instantiate-in-d_obtain_alias.patch @@ -1977,6 +1972,23 @@ fi # ||----w | # || || %changelog +* Mon Jan 24 2011 Kyle McMartin 2.6.38-0.rc2.git1.3 +- Disable usb/pci/acpi autosuspend goo until it can be checked. + +* Mon Jan 24 2011 Kyle McMartin +- debug-tty-print-dev-name.patch: drop, haven't seen any warnings recently. +- runtime_pm_fixups.patch: rebase and re-enable, make acpi_power_transition + in pci_bind actually do the right thing instead of (likely) always + trying to transition to D0. + +* Mon Jan 24 2011 Kyle McMartin 2.6.38-0.rc2.git1.1 +- Linux 2.6.38-rc2-git1 +- [e5cce6c1] tpm: fix panic caused by "tpm: Autodetect itpm devices" + may fix some boot issues people were having. +- tpm-fix-stall-on-boot.patch: upstream. +- perf-gcc460-build-fixes.patch: fix build issues with warn-unused-but-set + in gcc 4.6.0 + * Mon Jan 24 2011 Michael Young - update to 2.6.38-rc - Strip out upstream or conflicting patches from xen.next-2.6.37.patch diff --git a/perf-gcc460-build-fixes.patch b/perf-gcc460-build-fixes.patch new file mode 100644 index 0000000..19fbffd --- /dev/null +++ b/perf-gcc460-build-fixes.patch @@ -0,0 +1,227 @@ +From linux-kernel-owner@vger.kernel.org Mon Jan 24 11:13:12 2011 +Date: Mon, 24 Jan 2011 11:13:04 -0500 +From: Kyle McMartin +To: mingo@redhat.com +Cc: linux-kernel@vger.kernel.org, acme@redhat.com +Subject: [PATCH] perf: fix gcc 4.6.0 issues with tools/perf +Message-ID: <20110124161304.GK27353@bombadil.infradead.org> + +Hi Ingo, + +GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf +due to the -Werror=unused-but-set-variable flag. + +I've gone through and annotated some of the assignments that had side +effects (ie: return value from a function) with the __used annotation, +and in some cases, just removed unused code. + +In a few cases, we were assigning something useful, but not using it in +later parts of the function. + +regards, Kyle + +kyle@dreadnought:~/src% gcc --version +gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3) + +--- + + bench/sched-pipe.c | 2 +- + builtin-sched.c | 12 +++--------- + builtin-top.c | 5 +---- + util/header.c | 2 +- + util/hist.c | 3 --- + util/scripting-engines/trace-event-python.c | 3 +-- + util/symbol.c | 4 ++-- + util/trace-event-parse.c | 2 +- + util/ui/browsers/map.c | 2 +- + 9 files changed, 11 insertions(+), 24 deletions(-) + +diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c +index d9ab3ce..0c7454f 100644 +--- a/tools/perf/bench/sched-pipe.c ++++ b/tools/perf/bench/sched-pipe.c +@@ -55,7 +55,7 @@ int bench_sched_pipe(int argc, const char **argv, + * discarding returned value of read(), write() + * causes error in building environment for perf + */ +- int ret, wait_stat; ++ int __used ret, wait_stat; + pid_t pid, retpid; + + argc = parse_options(argc, argv, options, +diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c +index 29e7ffd..f9e304f 100644 +--- a/tools/perf/builtin-sched.c ++++ b/tools/perf/builtin-sched.c +@@ -369,11 +369,6 @@ static void + process_sched_event(struct task_desc *this_task __used, struct sched_atom *atom) + { + int ret = 0; +- u64 now; +- long long delta; +- +- now = get_nsecs(); +- delta = start_time + atom->timestamp - now; + + switch (atom->type) { + case SCHED_EVENT_RUN: +@@ -562,7 +557,7 @@ static void wait_for_tasks(void) + + static void run_one_test(void) + { +- u64 T0, T1, delta, avg_delta, fluct, std_dev; ++ u64 T0, T1, delta, avg_delta, fluct; + + T0 = get_nsecs(); + wait_for_tasks(); +@@ -578,7 +573,6 @@ static void run_one_test(void) + else + fluct = delta - avg_delta; + sum_fluct += fluct; +- std_dev = sum_fluct / nr_runs / sqrt(nr_runs); + if (!run_avg) + run_avg = delta; + run_avg = (run_avg*9 + delta)/10; +@@ -799,7 +793,7 @@ replay_switch_event(struct trace_switch_event *switch_event, + u64 timestamp, + struct thread *thread __used) + { +- struct task_desc *prev, *next; ++ struct task_desc *prev, __used *next; + u64 timestamp0; + s64 delta; + +@@ -1404,7 +1398,7 @@ map_switch_event(struct trace_switch_event *switch_event, + u64 timestamp, + struct thread *thread __used) + { +- struct thread *sched_out, *sched_in; ++ struct thread *sched_out __used, *sched_in; + int new_shortname; + u64 timestamp0; + s64 delta; +diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c +index 05344c6..373cfc0 100644 +--- a/tools/perf/builtin-top.c ++++ b/tools/perf/builtin-top.c +@@ -182,7 +182,6 @@ static int parse_source(struct sym_entry *syme) + FILE *file; + char command[PATH_MAX*2]; + const char *path; +- u64 len; + + if (!syme) + return -1; +@@ -211,8 +210,6 @@ static int parse_source(struct sym_entry *syme) + } + path = map->dso->long_name; + +- len = sym->end - sym->start; +- + sprintf(command, + "objdump --start-address=%#0*Lx --stop-address=%#0*Lx -dS %s", + BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start), +@@ -1295,7 +1292,7 @@ static int __cmd_top(void) + { + pthread_t thread; + struct perf_evsel *counter; +- int i, ret; ++ int i, ret __used; + /* + * FIXME: perf_session__new should allow passing a O_MMAP, so that all this + * mmap reading, etc is encapsulated in it. Use O_WRONLY for now. +diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c +index 989fa2d..c0e5019 100644 +--- a/tools/perf/util/header.c ++++ b/tools/perf/util/header.c +@@ -1139,7 +1139,7 @@ int event__synthesize_tracing_data(int fd, struct list_head *pattrs, + { + event_t ev; + ssize_t size = 0, aligned_size = 0, padding; +- int err = 0; ++ int err __used = 0; + + memset(&ev, 0, sizeof(ev)); + +diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c +index c749ba6..a01a33d 100644 +--- a/tools/perf/util/hist.c ++++ b/tools/perf/util/hist.c +@@ -1091,7 +1091,6 @@ int hist_entry__annotate(struct hist_entry *self, struct list_head *head, + char command[PATH_MAX * 2]; + FILE *file; + int err = 0; +- u64 len; + char symfs_filename[PATH_MAX]; + + if (filename) { +@@ -1136,8 +1135,6 @@ fallback: + filename, sym->name, map->unmap_ip(map, sym->start), + map->unmap_ip(map, sym->end)); + +- len = sym->end - sym->start; +- + pr_debug("annotating [%p] %30s : [%p] %30s\n", + dso, dso->long_name, sym, sym->name); + +diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c +index c6d9933..2040b85 100644 +--- a/tools/perf/util/scripting-engines/trace-event-python.c ++++ b/tools/perf/util/scripting-engines/trace-event-python.c +@@ -248,8 +248,7 @@ static void python_process_event(int cpu, void *data, + context = PyCObject_FromVoidPtr(scripting_context, NULL); + + PyTuple_SetItem(t, n++, PyString_FromString(handler_name)); +- PyTuple_SetItem(t, n++, +- PyCObject_FromVoidPtr(scripting_context, NULL)); ++ PyTuple_SetItem(t, n++, context); + + if (handler) { + PyTuple_SetItem(t, n++, PyInt_FromLong(cpu)); +diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c +index 15ccfba..52e82cf 100644 +--- a/tools/perf/util/symbol.c ++++ b/tools/perf/util/symbol.c +@@ -1517,8 +1517,8 @@ int dso__load(struct dso *self, struct map *map, symbol_filter_t filter) + symbol_conf.symfs, self->long_name); + break; + case DSO__ORIG_GUEST_KMODULE: +- if (map->groups && map->groups->machine) +- root_dir = map->groups->machine->root_dir; ++ if (map->groups && machine) ++ root_dir = machine->root_dir; + else + root_dir = ""; + snprintf(name, size, "%s%s%s", symbol_conf.symfs, +diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c +index 73a0222..d8e622d 100644 +--- a/tools/perf/util/trace-event-parse.c ++++ b/tools/perf/util/trace-event-parse.c +@@ -153,7 +153,7 @@ void parse_proc_kallsyms(char *file, unsigned int size __unused) + char *next = NULL; + char *addr_str; + char ch; +- int ret; ++ int ret __used; + int i; + + line = strtok_r(file, "\n", &next); +diff --git a/tools/perf/util/ui/browsers/map.c b/tools/perf/util/ui/browsers/map.c +index e35437d..3788cad 100644 +--- a/tools/perf/util/ui/browsers/map.c ++++ b/tools/perf/util/ui/browsers/map.c +@@ -40,7 +40,7 @@ static int ui_entry__read(const char *title, char *bf, size_t size, int width) + out_free_form: + newtPopWindow(); + newtFormDestroy(form); +- return 0; ++ return err; + } + + struct map_browser { +-- +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html +Please read the FAQ at http://www.tux.org/lkml/ + diff --git a/runtime_pm_fixups.patch b/runtime_pm_fixups.patch index 7891158..1be6149 100644 --- a/runtime_pm_fixups.patch +++ b/runtime_pm_fixups.patch @@ -1,14 +1,26 @@ -Experimental fixes for the interactions between runtime PM and ACPI power -resources. Needs some work with upstream. +From 141d0d01ab292d4ea3a6d5e96b4048e10e68c1d3 Mon Sep 17 00:00:00 2001 +From: Kyle McMartin +Date: Mon, 24 Jan 2011 13:01:57 -0500 +Subject: [PATCH] runtime_pm_fixups + +--- + drivers/acpi/bus.c | 3 ++- + drivers/acpi/pci_bind.c | 6 ++++++ + drivers/acpi/power.c | 5 ++++- + drivers/acpi/sleep.c | 2 +- + drivers/acpi/wakeup.c | 2 +- + drivers/pci/pci-acpi.c | 2 +- + include/acpi/acpi_bus.h | 2 +- + 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c -index 310e3b9..371debe 100644 +index 7ced61f..e4e0114 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c -@@ -329,7 +329,8 @@ int acpi_bus_set_power(acpi_handle handle, int state) - goto end; - } - } +@@ -256,7 +256,8 @@ static int __acpi_bus_set_power(struct acpi_device *device, int state) + * a lower-powered state. + */ + if (state < device->power.state) { - if (device->power.flags.power_resources) { + if (device->power.flags.power_resources && + !device->wakeup.run_wake_count) { @@ -16,10 +28,10 @@ index 310e3b9..371debe 100644 if (result) goto end; diff --git a/drivers/acpi/pci_bind.c b/drivers/acpi/pci_bind.c -index 8b3cc6a..b013174 100644 +index 2ef0409..4b0bb68 100644 --- a/drivers/acpi/pci_bind.c +++ b/drivers/acpi/pci_bind.c -@@ -33,6 +33,8 @@ +@@ -32,6 +32,8 @@ #include #include @@ -28,20 +40,29 @@ index 8b3cc6a..b013174 100644 #define _COMPONENT ACPI_PCI_COMPONENT ACPI_MODULE_NAME("pci_bind"); -@@ -173,6 +175,8 @@ static int acpi_pci_bind(struct acpi_device *device) +@@ -65,6 +67,7 @@ static int acpi_pci_bind(struct acpi_device *device) + acpi_handle handle; + struct pci_bus *bus; + struct pci_dev *dev; ++ int state; + + dev = acpi_get_pci_dev(device->handle); + if (!dev) +@@ -87,6 +90,9 @@ static int acpi_pci_bind(struct acpi_device *device) device->ops.unbind = acpi_pci_unbind; } -+ acpi_power_transition(device, acpi_power_get_inferred_state(device)); ++ acpi_power_get_inferred_state(device, &state); ++ acpi_power_transition(device, state); + /* * Evaluate and parse _PRT, if exists. This code allows parsing of * _PRT objects within the scope of non-bridge devices. Note that diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c -index 844c155..8a42ddf 100644 +index 9ac2a9f..cd6a8df 100644 --- a/drivers/acpi/power.c +++ b/drivers/acpi/power.c -@@ -394,7 +394,7 @@ int acpi_enable_wakeup_device_power(struct acpi_device *dev, int sleep_state) +@@ -412,7 +412,7 @@ int acpi_enable_wakeup_device_power(struct acpi_device *dev, int sleep_state) * State Wake) for the device, if present * 2. Shutdown down the power resources */ @@ -50,7 +71,7 @@ index 844c155..8a42ddf 100644 { int i, err = 0; -@@ -417,6 +417,9 @@ int acpi_disable_wakeup_device_power(struct acpi_device *dev) +@@ -435,6 +435,9 @@ int acpi_disable_wakeup_device_power(struct acpi_device *dev) if (err) goto out; @@ -59,12 +80,12 @@ index 844c155..8a42ddf 100644 + /* Close power resource */ for (i = 0; i < dev->wakeup.resources.count; i++) { - int ret = acpi_power_off_device( + int ret = acpi_power_off(dev->wakeup.resources.handles[i]); diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c -index 2c5cd02..6bf016b 100644 +index d6a8cd1..5d68dc0 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c -@@ -670,7 +670,7 @@ int acpi_pm_device_sleep_wake(struct device *dev, bool enable) +@@ -697,7 +697,7 @@ int acpi_pm_device_sleep_wake(struct device *dev, bool enable) error = enable ? acpi_enable_wakeup_device_power(adev, acpi_target_sleep_state) : @@ -74,20 +95,20 @@ index 2c5cd02..6bf016b 100644 dev_info(dev, "wake-up capability %s by ACPI\n", enable ? "enabled" : "disabled"); diff --git a/drivers/acpi/wakeup.c b/drivers/acpi/wakeup.c -index f62a50c..ff48a54 100644 +index ed65014..a0cabc3 100644 --- a/drivers/acpi/wakeup.c +++ b/drivers/acpi/wakeup.c -@@ -71,7 +71,7 @@ void acpi_disable_wakeup_devices(u8 sleep_state) +@@ -73,7 +73,7 @@ void acpi_disable_wakeup_devices(u8 sleep_state) ACPI_GPE_DISABLE); - if (dev->wakeup.state.enabled) + if (device_may_wakeup(&dev->dev)) - acpi_disable_wakeup_device_power(dev); + acpi_disable_wakeup_device_power(dev, sleep_state); } } diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c -index 24e19c5..cd99494 100644 +index 6fe0772..819fa7a 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -302,7 +302,7 @@ static int acpi_dev_run_wake(struct device *phys_dev, bool enable) @@ -100,10 +121,10 @@ index 24e19c5..cd99494 100644 } else { error = -EALREADY; diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h -index 4de84ce..284f43c 100644 +index 78ca429..92d6e86 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h -@@ -387,7 +387,7 @@ struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle); +@@ -379,7 +379,7 @@ struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle); #define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle)) int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state); @@ -112,3 +133,6 @@ index 4de84ce..284f43c 100644 #ifdef CONFIG_PM_OPS int acpi_pm_device_sleep_state(struct device *, int *); +-- +1.7.3.5 + diff --git a/sources b/sources index f2140a0..2c16061 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ c8ee37b4fdccdb651e0603d35350b434 linux-2.6.37.tar.bz2 4651b1512e2fba1735713aca8f1007fc patch-2.6.38-rc2.bz2 +1edbfed39a74c24b542747f2b97f1e32 patch-2.6.38-rc2-git1.bz2 diff --git a/tpm-fix-stall-on-boot.patch b/tpm-fix-stall-on-boot.patch deleted file mode 100644 index adba40a..0000000 --- a/tpm-fix-stall-on-boot.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix TPM timeouts on boot (#530393) - ---- a/drivers/char/tpm/tpm.c -+++ a/drivers/char/tpm/tpm.c -@@ -354,12 +354,14 @@ unsigned long tpm_calc_ordinal_duration(struct tpm_chip *chip, - tpm_protected_ordinal_duration[ordinal & - TPM_PROTECTED_ORDINAL_MASK]; - -- if (duration_idx != TPM_UNDEFINED) -+ if (duration_idx != TPM_UNDEFINED) { - duration = chip->vendor.duration[duration_idx]; -- if (duration <= 0) -+ /* if duration is 0, it's because chip->vendor.duration wasn't */ -+ /* filled yet, so we set the lowest timeout just to give enough */ -+ /* time to tpm_get_timeouts() succeed */ -+ return (duration <= 0 ? HZ : duration); -+ } else - return 2 * 60 * HZ; -- else -- return duration; - } - EXPORT_SYMBOL_GPL(tpm_calc_ordinal_duration); - -