Commit a5b2db67 authored by Denys Vlasenko's avatar Denys Vlasenko Committed by David S. Miller

[ATM] drivers/atm/ambassador.c: stop inlining largish static functions

drivers/atm/ambassador.c has unusually large number
of static inline functions - 22.

I looked through them and half of them seem to be too big
to warrant inlining.

This patch removes "inline" from these static functions
(regardless of number of callsites - gcc nowadays auto-inlines
statics with one callsite).

Size difference for 32bit x86:
   text    data     bss     dec     hex filename
  10209    8488       4   18701    490d linux-2.6-ALLYES/drivers/atm/ambassador.o
   9462    8488       4   17954    4622 linux-2.6.inline-ALLYES/drivers/atm/ambassador.o
Signed-off-by: default avatarDenys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3bb5da38
...@@ -437,7 +437,7 @@ static inline void dump_skb (char * prefix, unsigned int vc, struct sk_buff * sk ...@@ -437,7 +437,7 @@ static inline void dump_skb (char * prefix, unsigned int vc, struct sk_buff * sk
/* see limitations under Hardware Features */ /* see limitations under Hardware Features */
static inline int check_area (void * start, size_t length) { static int check_area (void * start, size_t length) {
// assumes length > 0 // assumes length > 0
const u32 fourmegmask = -1 << 22; const u32 fourmegmask = -1 << 22;
const u32 twofivesixmask = -1 << 8; const u32 twofivesixmask = -1 << 8;
...@@ -456,7 +456,7 @@ static inline int check_area (void * start, size_t length) { ...@@ -456,7 +456,7 @@ static inline int check_area (void * start, size_t length) {
/********** free an skb (as per ATM device driver documentation) **********/ /********** free an skb (as per ATM device driver documentation) **********/
static inline void amb_kfree_skb (struct sk_buff * skb) { static void amb_kfree_skb (struct sk_buff * skb) {
if (ATM_SKB(skb)->vcc->pop) { if (ATM_SKB(skb)->vcc->pop) {
ATM_SKB(skb)->vcc->pop (ATM_SKB(skb)->vcc, skb); ATM_SKB(skb)->vcc->pop (ATM_SKB(skb)->vcc, skb);
} else { } else {
...@@ -466,7 +466,7 @@ static inline void amb_kfree_skb (struct sk_buff * skb) { ...@@ -466,7 +466,7 @@ static inline void amb_kfree_skb (struct sk_buff * skb) {
/********** TX completion **********/ /********** TX completion **********/
static inline void tx_complete (amb_dev * dev, tx_out * tx) { static void tx_complete (amb_dev * dev, tx_out * tx) {
tx_simple * tx_descr = bus_to_virt (tx->handle); tx_simple * tx_descr = bus_to_virt (tx->handle);
struct sk_buff * skb = tx_descr->skb; struct sk_buff * skb = tx_descr->skb;
...@@ -643,7 +643,7 @@ static int command_do (amb_dev * dev, command * cmd) { ...@@ -643,7 +643,7 @@ static int command_do (amb_dev * dev, command * cmd) {
/********** TX queue pair **********/ /********** TX queue pair **********/
static inline int tx_give (amb_dev * dev, tx_in * tx) { static int tx_give (amb_dev * dev, tx_in * tx) {
amb_txq * txq = &dev->txq; amb_txq * txq = &dev->txq;
unsigned long flags; unsigned long flags;
...@@ -675,7 +675,7 @@ static inline int tx_give (amb_dev * dev, tx_in * tx) { ...@@ -675,7 +675,7 @@ static inline int tx_give (amb_dev * dev, tx_in * tx) {
} }
} }
static inline int tx_take (amb_dev * dev) { static int tx_take (amb_dev * dev) {
amb_txq * txq = &dev->txq; amb_txq * txq = &dev->txq;
unsigned long flags; unsigned long flags;
...@@ -703,7 +703,7 @@ static inline int tx_take (amb_dev * dev) { ...@@ -703,7 +703,7 @@ static inline int tx_take (amb_dev * dev) {
/********** RX queue pairs **********/ /********** RX queue pairs **********/
static inline int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) { static int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) {
amb_rxq * rxq = &dev->rxq[pool]; amb_rxq * rxq = &dev->rxq[pool];
unsigned long flags; unsigned long flags;
...@@ -728,7 +728,7 @@ static inline int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) { ...@@ -728,7 +728,7 @@ static inline int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) {
} }
} }
static inline int rx_take (amb_dev * dev, unsigned char pool) { static int rx_take (amb_dev * dev, unsigned char pool) {
amb_rxq * rxq = &dev->rxq[pool]; amb_rxq * rxq = &dev->rxq[pool];
unsigned long flags; unsigned long flags;
...@@ -761,7 +761,7 @@ static inline int rx_take (amb_dev * dev, unsigned char pool) { ...@@ -761,7 +761,7 @@ static inline int rx_take (amb_dev * dev, unsigned char pool) {
/********** RX Pool handling **********/ /********** RX Pool handling **********/
/* pre: buffers_wanted = 0, post: pending = 0 */ /* pre: buffers_wanted = 0, post: pending = 0 */
static inline void drain_rx_pool (amb_dev * dev, unsigned char pool) { static void drain_rx_pool (amb_dev * dev, unsigned char pool) {
amb_rxq * rxq = &dev->rxq[pool]; amb_rxq * rxq = &dev->rxq[pool];
PRINTD (DBG_FLOW|DBG_POOL, "drain_rx_pool %p %hu", dev, pool); PRINTD (DBG_FLOW|DBG_POOL, "drain_rx_pool %p %hu", dev, pool);
...@@ -796,7 +796,7 @@ static void drain_rx_pools (amb_dev * dev) { ...@@ -796,7 +796,7 @@ static void drain_rx_pools (amb_dev * dev) {
drain_rx_pool (dev, pool); drain_rx_pool (dev, pool);
} }
static inline void fill_rx_pool (amb_dev * dev, unsigned char pool, static void fill_rx_pool (amb_dev * dev, unsigned char pool,
gfp_t priority) gfp_t priority)
{ {
rx_in rx; rx_in rx;
...@@ -846,7 +846,7 @@ static void fill_rx_pools (amb_dev * dev) { ...@@ -846,7 +846,7 @@ static void fill_rx_pools (amb_dev * dev) {
/********** enable host interrupts **********/ /********** enable host interrupts **********/
static inline void interrupts_on (amb_dev * dev) { static void interrupts_on (amb_dev * dev) {
wr_plain (dev, offsetof(amb_mem, interrupt_control), wr_plain (dev, offsetof(amb_mem, interrupt_control),
rd_plain (dev, offsetof(amb_mem, interrupt_control)) rd_plain (dev, offsetof(amb_mem, interrupt_control))
| AMB_INTERRUPT_BITS); | AMB_INTERRUPT_BITS);
...@@ -854,7 +854,7 @@ static inline void interrupts_on (amb_dev * dev) { ...@@ -854,7 +854,7 @@ static inline void interrupts_on (amb_dev * dev) {
/********** disable host interrupts **********/ /********** disable host interrupts **********/
static inline void interrupts_off (amb_dev * dev) { static void interrupts_off (amb_dev * dev) {
wr_plain (dev, offsetof(amb_mem, interrupt_control), wr_plain (dev, offsetof(amb_mem, interrupt_control),
rd_plain (dev, offsetof(amb_mem, interrupt_control)) rd_plain (dev, offsetof(amb_mem, interrupt_control))
&~ AMB_INTERRUPT_BITS); &~ AMB_INTERRUPT_BITS);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment