/********************************************************************* * * Filename: irda.h * Version: 1.0 * Description: IrDA common include file for kernel internal use * Status: Stable * Author: Dag Brattli * Created at: Tue Dec 9 21:13:12 1997 * Modified at: Fri Jan 28 13:16:32 2000 * Modified by: Dag Brattli * * Copyright (c) 1998-2000 Dag Brattli, All Rights Reserved. * Copyright (c) 2000-2002 Jean Tourrilhes * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * Neither Dag Brattli nor University of Tromsø admit liability nor * provide warranty for any of this software. This material is * provided "AS-IS" and at no charge. * ********************************************************************/ #ifndef NET_IRDA_H #define NET_IRDA_H #include /* struct sk_buff */ #include #include /* sa_family_t in */ #include typedef __u32 magic_t; #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif /* Hack to do small backoff when setting media busy in IrLAP */ #ifndef SMALL #define SMALL 5 #endif #ifndef IRDA_MIN /* Lets not mix this MIN with other header files */ #define IRDA_MIN(a, b) (((a) < (b)) ? (a) : (b)) #endif #ifndef IRDA_ALIGN # define IRDA_ALIGN __attribute__((aligned)) #endif #ifdef CONFIG_IRDA_DEBUG #define IRDA_ASSERT(expr, func) \ do { if(!(expr)) { \ printk( "Assertion failed! %s:%s:%d %s\n", \ __FILE__,__func__,__LINE__,(#expr) ); \ func } } while (0) #define IRDA_ASSERT_LABEL(label) label #else #define IRDA_ASSERT(expr, func) do { (void)(expr); } while (0) #define IRDA_ASSERT_LABEL(label) #endif /* CONFIG_IRDA_DEBUG */ /* * Magic numbers used by Linux-IrDA. Random numbers which must be unique to * give the best protection */ #define IRTTY_MAGIC 0x2357 #define LAP_MAGIC 0x1357 #define LMP_MAGIC 0x4321 #define LMP_LSAP_MAGIC 0x69333 #define LMP_LAP_MAGIC 0x3432 #define IRDA_DEVICE_MAGIC 0x63454 #define IAS_MAGIC 0x007 #define TTP_MAGIC 0x241169 #define TTP_TSAP_MAGIC 0x4345 #define IROBEX_MAGIC 0x341324 #define HB_MAGIC 0x64534 #define IRLAN_MAGIC 0x754 #define IAS_OBJECT_MAGIC 0x34234 #define IAS_ATTRIB_MAGIC 0x45232 #define IRDA_TASK_MAGIC 0x38423 #define IAS_DEVICE_ID 0x0000 /* Defined by IrDA, IrLMP section 4.1 (page 68) */ #define IAS_PNP_ID 0xd342 #define IAS_OBEX_ID 0x34323 #define IAS_IRLAN_ID 0x34234 #define IAS_IRCOMM_ID 0x2343 #define IAS_IRLPT_ID 0x9876 struct net_device; struct packet_type; void irda_proc_register(void); void irda_proc_unregister(void); int irda_sysctl_register(void); void irda_sysctl_unregister(void); int irsock_init(void); void irsock_cleanup(void); int irda_nl_register(void); void irda_nl_unregister(void); int irlap_driver_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *ptype, struct net_device *orig_dev); #endif /* NET_IRDA_H */ iff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-01-31 23:58:38 +0100
committerIngo Molnar <mingo@kernel.org>2017-02-01 08:37:27 +0100
commitdd86e373e09fb16b83e8adf5c48c421a4ca76468 (patch)
tree55703c2ea8584e303e342090614e0aab3509ab21 /drivers/usb/host/uhci-pci.c
parent0b3589be9b98994ce3d5aeca52445d1f5627c4ba (diff)
perf/x86/intel/rapl: Make package handling more robust
The package management code in RAPL relies on package mapping being available before a CPU is started. This changed with: 9d85eb9119f4 ("x86/smpboot: Make logical package management more robust") because the ACPI/BIOS information turned out to be unreliable, but that left RAPL in broken state. This was not noticed because on a regular boot all CPUs are online before RAPL is initialized. A possible fix would be to reintroduce the mess which allocates a package data structure in CPU prepare and when it turns out to already exist in starting throw it away later in the CPU online callback. But that's a horrible hack and not required at all because RAPL becomes functional for perf only in the CPU online callback. That's correct because user space is not yet informed about the CPU being onlined, so nothing caan rely on RAPL being available on that particular CPU. Move the allocation to the CPU online callback and simplify the hotplug handling. At this point the package mapping is established and correct. This also adds a missing check for available package data in the event_init() function. Reported-by: Yasuaki Ishimatsu <yasu.isimatu@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sebastian Siewior <bigeasy@linutronix.de> Cc: Stephane Eranian <eranian@google.com> Cc: Vince Weaver <vincent.weaver@maine.edu> Fixes: 9d85eb9119f4 ("x86/smpboot: Make logical package management more robust") Link: http://lkml.kernel.org/r/20170131230141.212593966@linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/usb/host/uhci-pci.c')