mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
x86/platform changes for v6.10:
- Improve the DeviceTree (OF) NUMA enumeration code to address kernel warnings & mis-mappings on DeviceTree platforms. - Migrate x86 platform drivers to the .remove_new callback API - Misc cleanups & fixes Signed-off-by: Ingo Molnar <mingo@kernel.org> -----BEGIN PGP SIGNATURE----- iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmZByL0RHG1pbmdvQGtl cm5lbC5vcmcACgkQEnMQ0APhK1gHaRAAkub9fLBX9s1zxkouv16YJpycqHUmKMSf YeLoRGBAXDcdy4b5exgBTFxTKQE17TAsifsjhIKF1ObAslXHDfNNPUhZ41X8M3aw m5TyZxjXQiiafWSBLki+XBhYuL/lo+9tqWmmJZqp1wd2mjyViCqUDMRtm1WRRKYt ITlIQdAETGY38lU1h/NAFzVYrSq5/XVh6dW/TQ+Sw7PMkheWVInzIh31Z5/EBtBq YvmGETGAK7gUK69TbQuqCY3Aq3Q0mC2QAAGFbeHubl7Q13q4lkSdI5D7P0Ffg+Kg 95Mg94Fo3qShRNEeOyKR5L5WSGRfDJ7Tu3LfhglDqfYkLGJU++ER9BwvSxXkdbXS CCcr4yVHz8DIqZXHzpIyOvb3J4QCCUPkIiG46hpTZX+B9g+tSDOq2M9ETJcZNgux NA4wSwJLReAo2+eH+lEZv3LwxfVPwr+LHv6KRPlY0cMu/Gfs5qdCf4DMFsJuBhTD eLMwGON3ke/FDqTZkTRWGpcR6MIV7g9LWO7SgK1q8TvucmPXFIMq6v4MLrajSuKy V5iXl3Bef5IUZ6LqnHUI1HiXpLuYKb+ruBB2h01AZrrqOWVVyNWhT9Cf2EVsw+gB CKmzcBuLpFWiyXM/mRIvPHgPzW32uBuhIq2JpbPTqaEUQ6Wj2N8kY7pw1e5w8u5C OIB+LqGBiII= =IQi+ -----END PGP SIGNATURE----- Merge tag 'x86-platform-2024-05-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform updates from Ingo Molnar: - Improve the DeviceTree (OF) NUMA enumeration code to address kernel warnings & mis-mappings on DeviceTree platforms - Migrate x86 platform drivers to the .remove_new callback API - Misc cleanups & fixes * tag 'x86-platform-2024-05-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/platform/olpc-xo1-sci: Convert to platform remove callback returning void x86/platform/olpc-x01-pm: Convert to platform remove callback returning void x86/platform/iris: Convert to platform remove callback returning void x86/of: Change x86_dtb_parse_smp_config() to static x86/of: Map NUMA node to CPUs as per DeviceTree x86/of: Set the parse_smp_cfg for all the DeviceTree platforms by default x86/hyperv/vtl: Correct x86_init.mpparse.parse_smp_cfg assignment
This commit is contained in:
commit
5f487cd829
@ -34,7 +34,6 @@ void __init hv_vtl_init_platform(void)
|
||||
/* Avoid searching for BIOS MP tables */
|
||||
x86_init.mpparse.find_mptable = x86_init_noop;
|
||||
x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
|
||||
x86_init.mpparse.parse_smp_cfg = x86_init_noop;
|
||||
|
||||
x86_platform.get_wallclock = get_rtc_noop;
|
||||
x86_platform.set_wallclock = set_rtc_noop;
|
||||
|
@ -23,19 +23,14 @@ extern int of_ioapic;
|
||||
extern u64 initial_dtb;
|
||||
extern void add_dtb(u64 data);
|
||||
void x86_of_pci_init(void);
|
||||
void x86_dtb_parse_smp_config(void);
|
||||
void x86_flattree_get_config(void);
|
||||
#else
|
||||
static inline void add_dtb(u64 data) { }
|
||||
static inline void x86_of_pci_init(void) { }
|
||||
static inline void x86_dtb_parse_smp_config(void) { }
|
||||
static inline void x86_flattree_get_config(void) { }
|
||||
#define of_ioapic 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OF_EARLY_FLATTREE
|
||||
void x86_flattree_get_config(void);
|
||||
#else
|
||||
static inline void x86_flattree_get_config(void) { }
|
||||
#endif
|
||||
extern char cmd_line[COMMAND_LINE_SIZE];
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <asm/pci_x86.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/i8259.h>
|
||||
#include <asm/numa.h>
|
||||
#include <asm/prom.h>
|
||||
|
||||
__initdata u64 initial_dtb;
|
||||
@ -137,6 +138,7 @@ static void __init dtb_cpu_setup(void)
|
||||
continue;
|
||||
}
|
||||
topology_register_apic(apic_id, CPU_ACPIID_INVALID, true);
|
||||
set_apicid_to_node(apic_id, of_node_to_nid(dn));
|
||||
}
|
||||
}
|
||||
|
||||
@ -277,9 +279,18 @@ static void __init dtb_apic_setup(void)
|
||||
dtb_ioapic_setup();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF_EARLY_FLATTREE
|
||||
static void __init x86_dtb_parse_smp_config(void)
|
||||
{
|
||||
if (!of_have_populated_dt())
|
||||
return;
|
||||
|
||||
dtb_setup_hpet();
|
||||
dtb_apic_setup();
|
||||
}
|
||||
|
||||
void __init x86_flattree_get_config(void)
|
||||
{
|
||||
#ifdef CONFIG_OF_EARLY_FLATTREE
|
||||
u32 size, map_len;
|
||||
void *dt;
|
||||
|
||||
@ -301,14 +312,7 @@ void __init x86_flattree_get_config(void)
|
||||
|
||||
if (initial_dtb)
|
||||
early_memunmap(dt, map_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
void __init x86_dtb_parse_smp_config(void)
|
||||
{
|
||||
if (!of_have_populated_dt())
|
||||
return;
|
||||
|
||||
dtb_setup_hpet();
|
||||
dtb_apic_setup();
|
||||
if (of_have_populated_dt())
|
||||
x86_init.mpparse.parse_smp_cfg = x86_dtb_parse_smp_config;
|
||||
}
|
||||
|
@ -139,7 +139,6 @@ void __init x86_ce4100_early_setup(void)
|
||||
x86_init.resources.probe_roms = x86_init_noop;
|
||||
x86_init.mpparse.find_mptable = x86_init_noop;
|
||||
x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
|
||||
x86_init.mpparse.parse_smp_cfg = x86_dtb_parse_smp_config;
|
||||
x86_init.pci.init = ce4100_pci_init;
|
||||
x86_init.pci.init_irq = sdv_pci_init;
|
||||
|
||||
|
@ -62,11 +62,10 @@ static int iris_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int iris_remove(struct platform_device *pdev)
|
||||
static void iris_remove(struct platform_device *pdev)
|
||||
{
|
||||
pm_power_off = old_pm_power_off;
|
||||
printk(KERN_INFO "Iris power_off handler uninstalled.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver iris_driver = {
|
||||
@ -74,7 +73,7 @@ static struct platform_driver iris_driver = {
|
||||
.name = "iris",
|
||||
},
|
||||
.probe = iris_probe,
|
||||
.remove = iris_remove,
|
||||
.remove_new = iris_remove,
|
||||
};
|
||||
|
||||
static struct resource iris_resources[] = {
|
||||
|
@ -144,7 +144,7 @@ static int xo1_pm_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int xo1_pm_remove(struct platform_device *pdev)
|
||||
static void xo1_pm_remove(struct platform_device *pdev)
|
||||
{
|
||||
if (strcmp(pdev->name, "cs5535-pms") == 0)
|
||||
pms_base = 0;
|
||||
@ -152,7 +152,6 @@ static int xo1_pm_remove(struct platform_device *pdev)
|
||||
acpi_base = 0;
|
||||
|
||||
pm_power_off = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver cs5535_pms_driver = {
|
||||
@ -160,7 +159,7 @@ static struct platform_driver cs5535_pms_driver = {
|
||||
.name = "cs5535-pms",
|
||||
},
|
||||
.probe = xo1_pm_probe,
|
||||
.remove = xo1_pm_remove,
|
||||
.remove_new = xo1_pm_remove,
|
||||
};
|
||||
|
||||
static struct platform_driver cs5535_acpi_driver = {
|
||||
@ -168,7 +167,7 @@ static struct platform_driver cs5535_acpi_driver = {
|
||||
.name = "olpc-xo1-pm-acpi",
|
||||
},
|
||||
.probe = xo1_pm_probe,
|
||||
.remove = xo1_pm_remove,
|
||||
.remove_new = xo1_pm_remove,
|
||||
};
|
||||
|
||||
static int __init xo1_pm_init(void)
|
||||
|
@ -598,7 +598,7 @@ err_ebook:
|
||||
return r;
|
||||
}
|
||||
|
||||
static int xo1_sci_remove(struct platform_device *pdev)
|
||||
static void xo1_sci_remove(struct platform_device *pdev)
|
||||
{
|
||||
free_irq(sci_irq, pdev);
|
||||
cancel_work_sync(&sci_work);
|
||||
@ -608,7 +608,6 @@ static int xo1_sci_remove(struct platform_device *pdev)
|
||||
free_ebook_switch();
|
||||
free_power_button();
|
||||
acpi_base = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver xo1_sci_driver = {
|
||||
@ -617,7 +616,7 @@ static struct platform_driver xo1_sci_driver = {
|
||||
.dev_groups = lid_groups,
|
||||
},
|
||||
.probe = xo1_sci_probe,
|
||||
.remove = xo1_sci_remove,
|
||||
.remove_new = xo1_sci_remove,
|
||||
.suspend = xo1_sci_suspend,
|
||||
.resume = xo1_sci_resume,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user