···280280/* wrapper-functions from pdc.c */281281282282int pdc_add_valid(unsigned long address);283283+int pdc_instr(unsigned int *instr);283284int pdc_chassis_info(struct pdc_chassis_info *chassis_info, void *led_info, unsigned long len);284285int pdc_chassis_disp(unsigned long disp);285286int pdc_chassis_warn(unsigned long *warn);
+20
arch/parisc/kernel/firmware.c
···233233EXPORT_SYMBOL(pdc_add_valid);234234235235/**236236+ * pdc_instr - Get instruction that invokes PDCE_CHECK in HPMC handler.237237+ * @instr: Pointer to variable which will get instruction opcode.238238+ *239239+ * The return value is PDC_OK (0) in case call succeeded.240240+ */241241+int __init pdc_instr(unsigned int *instr)242242+{243243+ int retval;244244+ unsigned long flags;245245+246246+ spin_lock_irqsave(&pdc_lock, flags);247247+ retval = mem_pdc_call(PDC_INSTR, 0UL, __pa(pdc_result));248248+ convert_to_wide(pdc_result);249249+ *instr = pdc_result[0];250250+ spin_unlock_irqrestore(&pdc_lock, flags);251251+252252+ return retval;253253+}254254+255255+/**236256 * pdc_chassis_info - Return chassis information.237257 * @result: The return buffer.238258 * @chassis_info: The memory buffer address.