Skip to content

Commit bb60931

Browse files
committed
Merge branch 'parisc-4.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc fixes from Helge Deller: "Fix two section mismatches, convert to read_persistent_clock64(), add further documentation regarding the HPMC crash handler and make bzImage the default build target" * 'parisc-4.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Fix section mismatches parisc: drivers.c: Fix section mismatches parisc: time: Convert read_persistent_clock() to read_persistent_clock64() parisc: Document rules regarding checksum of HPMC handler parisc: Make bzImage default build target
2 parents c15f6d8 + 8d73b18 commit bb60931

File tree

7 files changed

+22
-7
lines changed

7 files changed

+22
-7
lines changed

arch/parisc/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ INSTALL_TARGETS = zinstall install
123123

124124
PHONY += bzImage $(BOOT_TARGETS) $(INSTALL_TARGETS)
125125

126+
# Default kernel to build
127+
all: bzImage
128+
126129
zImage: vmlinuz
127130
Image: vmlinux
128131

arch/parisc/kernel/drivers.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,8 @@ static int match_by_id(struct device * dev, void * data)
448448
* Checks all the children of @parent for a matching @id. If none
449449
* found, it allocates a new device and returns it.
450450
*/
451-
static struct parisc_device * alloc_tree_node(struct device *parent, char id)
451+
static struct parisc_device * __init alloc_tree_node(
452+
struct device *parent, char id)
452453
{
453454
struct match_id_data d = {
454455
.id = id,
@@ -825,8 +826,8 @@ static void walk_lower_bus(struct parisc_device *dev)
825826
* devices which are not physically connected (such as extra serial &
826827
* keyboard ports). This problem is not yet solved.
827828
*/
828-
static void walk_native_bus(unsigned long io_io_low, unsigned long io_io_high,
829-
struct device *parent)
829+
static void __init walk_native_bus(unsigned long io_io_low,
830+
unsigned long io_io_high, struct device *parent)
830831
{
831832
int i, devices_found = 0;
832833
unsigned long hpa = io_io_low;

arch/parisc/kernel/pci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ void pcibios_set_master(struct pci_dev *dev)
174174
* pcibios_init_bridge() initializes cache line and default latency
175175
* for pci controllers and pci-pci bridges
176176
*/
177-
void __init pcibios_init_bridge(struct pci_dev *dev)
177+
void __ref pcibios_init_bridge(struct pci_dev *dev)
178178
{
179179
unsigned short bridge_ctl, bridge_ctl_new;
180180

arch/parisc/kernel/time.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ static int __init rtc_init(void)
205205
device_initcall(rtc_init);
206206
#endif
207207

208-
void read_persistent_clock(struct timespec *ts)
208+
void read_persistent_clock64(struct timespec64 *ts)
209209
{
210210
static struct pdc_tod tod_data;
211211
if (pdc_tod_read(&tod_data) == 0) {

arch/parisc/kernel/traps.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,17 @@ void __init initialize_ivt(const void *iva)
837837
if (pdc_instr(&instr) == PDC_OK)
838838
ivap[0] = instr;
839839

840+
/*
841+
* Rules for the checksum of the HPMC handler:
842+
* 1. The IVA does not point to PDC/PDH space (ie: the OS has installed
843+
* its own IVA).
844+
* 2. The word at IVA + 32 is nonzero.
845+
* 3. If Length (IVA + 60) is not zero, then Length (IVA + 60) and
846+
* Address (IVA + 56) are word-aligned.
847+
* 4. The checksum of the 8 words starting at IVA + 32 plus the sum of
848+
* the Length/4 words starting at Address is zero.
849+
*/
850+
840851
/* Compute Checksum for HPMC handler */
841852
length = os_hpmc_size;
842853
ivap[7] = length;

arch/parisc/mm/init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ static void __init map_pages(unsigned long start_vaddr,
516516
}
517517
}
518518

519-
void free_initmem(void)
519+
void __ref free_initmem(void)
520520
{
521521
unsigned long init_begin = (unsigned long)__init_begin;
522522
unsigned long init_end = (unsigned long)__init_end;

drivers/parisc/ccio-dma.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1263,7 +1263,7 @@ static struct parisc_driver ccio_driver __refdata = {
12631263
* I/O Page Directory, the resource map, and initalizing the
12641264
* U2/Uturn chip into virtual mode.
12651265
*/
1266-
static void
1266+
static void __init
12671267
ccio_ioc_init(struct ioc *ioc)
12681268
{
12691269
int i;

0 commit comments

Comments
 (0)