xref: /openbmc/linux/drivers/ipack/devices/ipoctal.h (revision e0b04f2e)
105e5027eSGreg Kroah-Hartman /**
205e5027eSGreg Kroah-Hartman  * ipoctal.h
305e5027eSGreg Kroah-Hartman  *
405e5027eSGreg Kroah-Hartman  * driver for the IPOCTAL boards
505e5027eSGreg Kroah-Hartman 
605e5027eSGreg Kroah-Hartman  * Copyright (C) 2009-2012 CERN (www.cern.ch)
705e5027eSGreg Kroah-Hartman  * Author: Nicolas Serafini, EIC2 SA
805e5027eSGreg Kroah-Hartman  * Author: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
905e5027eSGreg Kroah-Hartman  *
1005e5027eSGreg Kroah-Hartman  * This program is free software; you can redistribute it and/or modify it
1105e5027eSGreg Kroah-Hartman  * under the terms of the GNU General Public License as published by the Free
1205e5027eSGreg Kroah-Hartman  * Software Foundation; version 2 of the License.
1305e5027eSGreg Kroah-Hartman  */
1405e5027eSGreg Kroah-Hartman 
15e0b04f2eSRasmus Villemoes #ifndef _IPOCTAL_H_
1605e5027eSGreg Kroah-Hartman #define _IPOCTAL_H_
1705e5027eSGreg Kroah-Hartman 
1805e5027eSGreg Kroah-Hartman #define NR_CHANNELS		8
1905e5027eSGreg Kroah-Hartman #define IPOCTAL_MAX_BOARDS	16
2005e5027eSGreg Kroah-Hartman #define MAX_DEVICES		(NR_CHANNELS * IPOCTAL_MAX_BOARDS)
2105e5027eSGreg Kroah-Hartman #define RELEVANT_IFLAG(iflag) ((iflag) & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))
2205e5027eSGreg Kroah-Hartman 
2305e5027eSGreg Kroah-Hartman /**
2405e5027eSGreg Kroah-Hartman  * struct ipoctal_stats -- Stats since last reset
2505e5027eSGreg Kroah-Hartman  *
2605e5027eSGreg Kroah-Hartman  * @tx: Number of transmitted bytes
2705e5027eSGreg Kroah-Hartman  * @rx: Number of received bytes
2805e5027eSGreg Kroah-Hartman  * @overrun: Number of overrun errors
2905e5027eSGreg Kroah-Hartman  * @parity_err: Number of parity errors
3005e5027eSGreg Kroah-Hartman  * @framing_err: Number of framing errors
3105e5027eSGreg Kroah-Hartman  * @rcv_break: Number of break received
3205e5027eSGreg Kroah-Hartman  */
3305e5027eSGreg Kroah-Hartman struct ipoctal_stats {
3405e5027eSGreg Kroah-Hartman 	unsigned long tx;
3505e5027eSGreg Kroah-Hartman 	unsigned long rx;
3605e5027eSGreg Kroah-Hartman 	unsigned long overrun_err;
3705e5027eSGreg Kroah-Hartman 	unsigned long parity_err;
3805e5027eSGreg Kroah-Hartman 	unsigned long framing_err;
3905e5027eSGreg Kroah-Hartman 	unsigned long rcv_break;
4005e5027eSGreg Kroah-Hartman };
4105e5027eSGreg Kroah-Hartman 
4205e5027eSGreg Kroah-Hartman #endif /* _IPOCTAL_H_ */
43