Skip to content

Commit c945d02

Browse files
committed
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 platform updates from Ingo Molnar: "Misc platform updates: SGI UV4 support additions, intel-mid Merrifield enhancements and purge of old code" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits) x86/platform/UV/NMI: Fix uneccessary kABI breakage x86/platform/UV: Clean up the NMI code to match current coding style x86/platform/UV: Ensure uv_system_init is called when necessary x86/platform/UV: Initialize PCH GPP_D_0 NMI Pin to be NMI source x86/platform/UV: Verify NMI action is valid, default is standard x86/platform/UV: Add basic CPU NMI health check x86/platform/UV: Add Support for UV4 Hubless NMIs x86/platform/UV: Add Support for UV4 Hubless systems x86/platform/UV: Clean up the UV APIC code x86/platform/intel-mid: Move watchdog registration to arch_initcall() x86/platform/intel-mid: Don't shadow error code of mp_map_gsi_to_irq() x86/platform/intel-mid: Allocate RTC interrupt for Merrifield x86/ioapic: Return suitable error code in mp_map_gsi_to_irq() x86/platform/UV: Fix 2 socket config problem x86/platform/UV: Fix panic with missing UVsystab support x86/platform/intel-mid: Enable RTC on Intel Merrifield x86/platform/intel: Remove PMIC GPIO block support x86/platform/intel-mid: Make intel_scu_device_register() static x86/platform/intel-mid: Enable GPIO keys on Merrifield x86/platform/intel-mid: Get rid of duplication of IPC handler ...
2 parents 8b5abde + d48085f commit c945d02

26 files changed

+796
-860
lines changed

arch/x86/include/asm/intel-mid.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ extern void intel_mid_pwr_power_off(void);
2727
extern int intel_mid_pwr_get_lss_id(struct pci_dev *pdev);
2828

2929
extern int get_gpio_by_name(const char *name);
30-
extern void intel_scu_device_register(struct platform_device *pdev);
3130
extern int __init sfi_parse_mrtc(struct sfi_table_header *table);
3231
extern int __init sfi_parse_mtmr(struct sfi_table_header *table);
3332
extern int sfi_mrtc_num;
@@ -42,10 +41,8 @@ struct devs_id {
4241
char name[SFI_NAME_LEN + 1];
4342
u8 type;
4443
u8 delay;
44+
u8 msic;
4545
void *(*get_platform_data)(void *info);
46-
/* Custom handler for devices */
47-
void (*device_handler)(struct sfi_device_table_entry *pentry,
48-
struct devs_id *dev);
4946
};
5047

5148
#define sfi_device(i) \

arch/x86/include/asm/uv/uv.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ struct mm_struct;
1010

1111
extern enum uv_system_type get_uv_system_type(void);
1212
extern int is_uv_system(void);
13+
extern int is_uv_hubless(void);
1314
extern void uv_cpu_init(void);
1415
extern void uv_nmi_init(void);
1516
extern void uv_system_init(void);
@@ -23,6 +24,7 @@ extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
2324

2425
static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
2526
static inline int is_uv_system(void) { return 0; }
27+
static inline int is_uv_hubless(void) { return 0; }
2628
static inline void uv_cpu_init(void) { }
2729
static inline void uv_system_init(void) { }
2830
static inline const struct cpumask *

arch/x86/include/asm/uv/uv_hub.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,7 @@ static inline int uv_num_possible_blades(void)
772772

773773
/* Per Hub NMI support */
774774
extern void uv_nmi_setup(void);
775+
extern void uv_nmi_setup_hubless(void);
775776

776777
/* BMC sets a bit this MMR non-zero before sending an NMI */
777778
#define UVH_NMI_MMR UVH_SCRATCH5
@@ -799,6 +800,8 @@ struct uv_hub_nmi_s {
799800
atomic_t read_mmr_count; /* count of MMR reads */
800801
atomic_t nmi_count; /* count of true UV NMIs */
801802
unsigned long nmi_value; /* last value read from NMI MMR */
803+
bool hub_present; /* false means UV hubless system */
804+
bool pch_owner; /* indicates this hub owns PCH */
802805
};
803806

804807
struct uv_cpu_nmi_s {

arch/x86/kernel/apic/io_apic.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,12 +1107,12 @@ int mp_map_gsi_to_irq(u32 gsi, unsigned int flags, struct irq_alloc_info *info)
11071107

11081108
ioapic = mp_find_ioapic(gsi);
11091109
if (ioapic < 0)
1110-
return -1;
1110+
return -ENODEV;
11111111

11121112
pin = mp_find_ioapic_pin(ioapic, gsi);
11131113
idx = find_irq_entry(ioapic, pin, mp_INT);
11141114
if ((flags & IOAPIC_MAP_CHECK) && idx < 0)
1115-
return -1;
1115+
return -ENODEV;
11161116

11171117
return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info);
11181118
}

0 commit comments

Comments
 (0)