arch/powerpc/platforms/512x/pdm360ng.c

Source file repositories/reference/linux-study-clean/arch/powerpc/platforms/512x/pdm360ng.c

File Facts

System
Linux kernel
Corpus path
arch/powerpc/platforms/512x/pdm360ng.c
Extension
.c
Size
2769 bytes
Lines
127
Domain
Architecture Layer
Bucket
arch/powerpc
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

of_device_is_compatible(dev->of_node, "ti,ads7846")) {
		dev->platform_data = &pdm360ng_ads7846_pdata;
		return NOTIFY_OK;
	}
	return NOTIFY_DONE;
}

static struct notifier_block pdm360ng_touchscreen_nb = {
	.notifier_call = pdm360ng_touchscreen_notifier_call,
};

static void __init pdm360ng_touchscreen_init(void)
{
	if (pdm360ng_penirq_init())
		return;

	bus_register_notifier(&spi_bus_type, &pdm360ng_touchscreen_nb);
}
#else
static inline void __init pdm360ng_touchscreen_init(void)
{
}
#endif /* CONFIG_TOUCHSCREEN_ADS7846 */

static void __init pdm360ng_init(void)
{
	mpc512x_init();
	pdm360ng_touchscreen_init();
}

static int __init pdm360ng_probe(void)
{
	mpc512x_init_early();

	return 1;
}

define_machine(pdm360ng) {
	.name			= "PDM360NG",
	.compatible		= "ifm,pdm360ng",
	.probe			= pdm360ng_probe,
	.setup_arch		= mpc512x_setup_arch,
	.init			= pdm360ng_init,
	.init_IRQ		= mpc512x_init_IRQ,
	.get_irq		= ipic_get_irq,
	.restart		= mpc512x_restart,
};

Annotation

Implementation Notes