/* read from a secondary register on the PASIC3  */
u8 pasic3_read_register(struct device *dev, u32 reg)
/* read from a secondary register on the PASIC3  */
u8 pasic3_read_register(struct device *dev, u32 reg)
{
	struct pasic3_data *asic = dev_get_drvdata(dev);
	int bus_shift = asic->bus_shift;
	void __iomem *addr = asic->mapping + (REG_ADDR << bus_shift);
	void __iomem *data = asic->mapping + (REG_DATA << bus_shift);
	__raw_writeb(READ_MODE | reg, addr);
	return __raw_readb(data);
}