media: rc: Remove init_ir_raw_event and DEFINE_IR_RAW_EVENT macros
authorSean Young <sean@mess.org>
Tue, 21 Aug 2018 19:57:52 +0000 (15:57 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 4 Oct 2018 18:22:27 +0000 (14:22 -0400)
This can be done with c99 initializers, which makes the code cleaner
and more transparent. It does require gcc 4.6, because of this bug
in earlier versions:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676

Since commit cafa0010cd51 ("Raise the minimum required gcc version to
4.6"), this is the case.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
30 files changed:
drivers/hid/hid-picolcd_cir.c
drivers/media/common/siano/smsir.c
drivers/media/i2c/cx25840/cx25840-ir.c
drivers/media/pci/cx23885/cx23888-ir.c
drivers/media/pci/cx88/cx88-input.c
drivers/media/rc/ene_ir.c
drivers/media/rc/fintek-cir.c
drivers/media/rc/igorplugusb.c
drivers/media/rc/iguanair.c
drivers/media/rc/imon_raw.c
drivers/media/rc/ir-hix5hd2.c
drivers/media/rc/ite-cir.c
drivers/media/rc/mceusb.c
drivers/media/rc/meson-ir.c
drivers/media/rc/mtk-cir.c
drivers/media/rc/nuvoton-cir.c
drivers/media/rc/rc-core-priv.h
drivers/media/rc/rc-ir-raw.c
drivers/media/rc/rc-loopback.c
drivers/media/rc/redrat3.c
drivers/media/rc/serial_ir.c
drivers/media/rc/sir_ir.c
drivers/media/rc/st_rc.c
drivers/media/rc/streamzap.c
drivers/media/rc/sunxi-cir.c
drivers/media/rc/ttusbir.c
drivers/media/rc/winbond-cir.c
drivers/media/usb/au0828/au0828-input.c
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
include/media/rc-core.h

index 32747b7f917ee40ec63709df72bb5b3c53337445..bf6f29ca33151014d92fad911ee33f71fefaa68b 100644 (file)
@@ -45,7 +45,7 @@ int picolcd_raw_cir(struct picolcd_data *data,
 {
        unsigned long flags;
        int i, w, sz;
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        /* ignore if rc_dev is NULL or status is shunned */
        spin_lock_irqsave(&data->lock, flags);
@@ -67,7 +67,6 @@ int picolcd_raw_cir(struct picolcd_data *data,
         */
        sz = size > 0 ? min((int)raw_data[0], size-1) : 0;
        for (i = 0; i+1 < sz; i += 2) {
-               init_ir_raw_event(&rawir);
                w = (raw_data[i] << 8) | (raw_data[i+1]);
                rawir.pulse = !!(w & 0x8000);
                rawir.duration = US_TO_NS(rawir.pulse ? (65536 - w) : w);
index a1cfafba9b4c0d02a8cee28109136c78e3518770..79bd627f84b8e959e84c8ecc004952170358316f 100644 (file)
@@ -26,10 +26,10 @@ void sms_ir_event(struct smscore_device_t *coredev, const char *buf, int len)
        const s32 *samples = (const void *)buf;
 
        for (i = 0; i < len >> 2; i++) {
-               DEFINE_IR_RAW_EVENT(ev);
-
-               ev.duration = abs(samples[i]) * 1000; /* Convert to ns */
-               ev.pulse = (samples[i] > 0) ? false : true;
+               struct ir_raw_event ev = {
+                       .duration = abs(samples[i]) * 1000, /* Convert to ns */
+                       .pulse = (samples[i] > 0) ? false : true
+               };
 
                ir_raw_event_store(coredev->ir.dev, &ev);
        }
index ad7f66c7aac87f1ca36658e9a535e6d59e453983..69cdc09981af669de3cd921bd08a2b85bdaecdf1 100644 (file)
@@ -701,10 +701,8 @@ static int cx25840_ir_rx_read(struct v4l2_subdev *sd, u8 *buf, size_t count,
                if (v > IR_MAX_DURATION)
                        v = IR_MAX_DURATION;
 
-               init_ir_raw_event(&p->ir_core_data);
-               p->ir_core_data.pulse = u;
-               p->ir_core_data.duration = v;
-               p->ir_core_data.timeout = w;
+               p->ir_core_data = (struct ir_raw_event)
+                       { .pulse = u, .duration = v, .timeout = w };
 
                v4l2_dbg(2, ir_debug, sd, "rx read: %10u ns  %s  %s\n",
                         v, u ? "mark" : "space", w ? "(timed out)" : "");
index 00329f668b590260713d3dab844179398f55b465..1d775c90df51bf6bbe120dacca2b2474fd15418e 100644 (file)
@@ -696,10 +696,8 @@ static int cx23888_ir_rx_read(struct v4l2_subdev *sd, u8 *buf, size_t count,
                if (v > IR_MAX_DURATION)
                        v = IR_MAX_DURATION;
 
-               init_ir_raw_event(&p->ir_core_data);
-               p->ir_core_data.pulse = u;
-               p->ir_core_data.duration = v;
-               p->ir_core_data.timeout = w;
+               p->ir_core_data = (struct ir_raw_event)
+                       { .pulse = u, .duration = v, .timeout = w };
 
                v4l2_dbg(2, ir_888_debug, sd, "rx read: %10u ns  %s  %s\n",
                         v, u ? "mark" : "space", w ? "(timed out)" : "");
index c5cee71d744d1d649819e20165f75fcf257e0e39..ca76da04b47626e24521f9b405304032d1832bfb 100644 (file)
@@ -535,7 +535,7 @@ void cx88_ir_irq(struct cx88_core *core)
        struct cx88_IR *ir = core->ir;
        u32 samples;
        unsigned int todo, bits;
-       struct ir_raw_event ev;
+       struct ir_raw_event ev = {};
 
        if (!ir || !ir->sampling)
                return;
@@ -550,7 +550,6 @@ void cx88_ir_irq(struct cx88_core *core)
        if (samples == 0xff && ir->dev->idle)
                return;
 
-       init_ir_raw_event(&ev);
        for (todo = 32; todo > 0; todo -= bits) {
                ev.pulse = samples & 0x80000000 ? false : true;
                bits = min(todo, 32U - fls(ev.pulse ? samples : ~samples));
index 71b8c9bbf6c409b954471d6e4cf20884fdea35ee..dd2fd307ef859e19811db97adcb3dbbf2e58cc6a 100644 (file)
@@ -326,8 +326,6 @@ static int ene_rx_get_sample_reg(struct ene_device *dev)
 /* Sense current received carrier */
 static void ene_rx_sense_carrier(struct ene_device *dev)
 {
-       DEFINE_IR_RAW_EVENT(ev);
-
        int carrier, duty_cycle;
        int period = ene_read_reg(dev, ENE_CIRCAR_PRD);
        int hperiod = ene_read_reg(dev, ENE_CIRCAR_HPRD);
@@ -348,9 +346,11 @@ static void ene_rx_sense_carrier(struct ene_device *dev)
        dbg("RX: sensed carrier = %d Hz, duty cycle %d%%",
                                                carrier, duty_cycle);
        if (dev->carrier_detect_enabled) {
-               ev.carrier_report = true;
-               ev.carrier = carrier;
-               ev.duty_cycle = duty_cycle;
+               struct ir_raw_event ev = {
+                       .carrier_report = true,
+                       .carrier = carrier,
+                       .duty_cycle = duty_cycle
+               };
                ir_raw_event_store(dev->rdev, &ev);
        }
 }
@@ -733,7 +733,7 @@ static irqreturn_t ene_isr(int irq, void *data)
        unsigned long flags;
        irqreturn_t retval = IRQ_NONE;
        struct ene_device *dev = (struct ene_device *)data;
-       DEFINE_IR_RAW_EVENT(ev);
+       struct ir_raw_event ev = {};
 
        spin_lock_irqsave(&dev->hw_lock, flags);
 
index f2639d0c2fca87478e51acbbb638f45cee53d878..601944666b71cdd09d558838f01e15a976a736d5 100644 (file)
@@ -282,7 +282,7 @@ static int fintek_cmdsize(u8 cmd, u8 subcmd)
 /* process ir data stored in driver buffer */
 static void fintek_process_rx_ir_data(struct fintek_dev *fintek)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        u8 sample;
        bool event = false;
        int i;
@@ -314,7 +314,6 @@ static void fintek_process_rx_ir_data(struct fintek_dev *fintek)
                        break;
                case PARSE_IRDATA:
                        fintek->rem--;
-                       init_ir_raw_event(&rawir);
                        rawir.pulse = ((sample & BUF_PULSE_BIT) != 0);
                        rawir.duration = US_TO_NS((sample & BUF_SAMPLE_MASK)
                                          * CIR_SAMPLE_PERIOD);
index f563ddd7f73922e35949fb05a3f313acf0075565..ba3f95a97f144f773467ddaddcef19327211adae 100644 (file)
@@ -56,7 +56,7 @@ static void igorplugusb_cmd(struct igorplugusb *ir, int cmd);
 
 static void igorplugusb_irdata(struct igorplugusb *ir, unsigned len)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        unsigned i, start, overflow;
 
        dev_dbg(ir->dev, "irdata: %*ph (len=%u)", len, ir->buf_in, len);
index 7daac8bab83b02d2db1f52f394ac701971cc6125..fbacb13b614b30a5cf5cf8d9a6908d9a44bf5b07 100644 (file)
@@ -129,12 +129,10 @@ static void process_ir_data(struct iguanair *ir, unsigned len)
                        break;
                }
        } else if (len >= 7) {
-               DEFINE_IR_RAW_EVENT(rawir);
+               struct ir_raw_event rawir = {};
                unsigned i;
                bool event = false;
 
-               init_ir_raw_event(&rawir);
-
                for (i = 0; i < 7; i++) {
                        if (ir->buf_in[i] == 0x80) {
                                rawir.pulse = false;
index 32709f96de14f78822897030fe683930dbd48222..7796098d9c307a54ed811db1e6c987fadfd2535f 100644 (file)
@@ -28,7 +28,7 @@ static inline int is_bit_set(const u8 *buf, int bit)
 
 static void imon_ir_data(struct imon *imon)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        int offset = 0, size = 5 * 8;
        int bit;
 
index 700ab4c563d0cf7cabee1129e77f79cc5fa9f0df..abc4d6c1b323eef0e306955675a32665bedbdd87 100644 (file)
@@ -175,7 +175,7 @@ static irqreturn_t hix5hd2_ir_rx_interrupt(int irq, void *data)
        }
 
        if ((irq_sr & INTMS_SYMBRCV) || (irq_sr & INTMS_TIMEOUT)) {
-               DEFINE_IR_RAW_EVENT(ev);
+               struct ir_raw_event ev = {};
 
                symb_num = readl_relaxed(priv->base + IR_DATAH);
                for (i = 0; i < symb_num; i++) {
index de77d22c30a708300a19332cfb8d21b4e72ed357..cd3c60ba8519ba92c247a0be319d5e09bb66f689 100644 (file)
@@ -173,7 +173,7 @@ static void ite_decode_bytes(struct ite_dev *dev, const u8 * data, int
        u32 sample_period;
        unsigned long *ldata;
        unsigned int next_one, next_zero, size;
-       DEFINE_IR_RAW_EVENT(ev);
+       struct ir_raw_event ev = {};
 
        if (length == 0)
                return;
@@ -1507,9 +1507,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
        /* initialize spinlocks */
        spin_lock_init(&itdev->lock);
 
-       /* initialize raw event */
-       init_ir_raw_event(&itdev->rawir);
-
        /* set driver data into the pnp device */
        pnp_set_drvdata(pdev, itdev);
        itdev->pdev = pdev;
index 7f0fc3e12190606c0553b4adee1631b565ccd17e..c9293696dc2deee3a7a912f8a50ba73310e2425a 100644 (file)
@@ -1078,7 +1078,7 @@ static int mceusb_set_rx_carrier_report(struct rc_dev *dev, int enable)
  */
 static void mceusb_handle_command(struct mceusb_dev *ir, int index)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        u8 hi = ir->buf_in[index + 1] & 0xff;
        u8 lo = ir->buf_in[index + 2] & 0xff;
        u32 carrier_cycles;
@@ -1152,7 +1152,7 @@ static void mceusb_handle_command(struct mceusb_dev *ir, int index)
 
 static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        bool event = false;
        int i = 0;
 
@@ -1175,7 +1175,6 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
                        break;
                case PARSE_IRDATA:
                        ir->rem--;
-                       init_ir_raw_event(&rawir);
                        rawir.pulse = ((ir->buf_in[i] & MCE_PULSE_BIT) != 0);
                        rawir.duration = (ir->buf_in[i] & MCE_PULSE_MASK);
                        if (unlikely(!rawir.duration)) {
@@ -1215,11 +1214,13 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
                        if (ir->rem) {
                                ir->parser_state = PARSE_IRDATA;
                        } else {
-                               init_ir_raw_event(&rawir);
-                               rawir.timeout = 1;
-                               rawir.duration = ir->rc->timeout;
+                               struct ir_raw_event ev = {
+                                       .timeout = 1,
+                                       .duration = ir->rc->timeout
+                               };
+
                                if (ir_raw_event_store_with_filter(ir->rc,
-                                                                  &rawir))
+                                                                  &ev))
                                        event = true;
                                ir->pulse_tunit = 0;
                                ir->pulse_count = 0;
index f449b35d25e7378c034d6334393d64982187e731..9914c83fecb983d9be4cfe75efdd72d87ab943c7 100644 (file)
@@ -86,7 +86,7 @@ static irqreturn_t meson_ir_irq(int irqno, void *dev_id)
 {
        struct meson_ir *ir = dev_id;
        u32 duration, status;
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        spin_lock(&ir->lock);
 
index e42efd9d382ec4290413e606b6f6040c28805cfe..31b7bb431497f44ff99c46e82fe289f9654d5033 100644 (file)
@@ -212,7 +212,7 @@ static irqreturn_t mtk_ir_irq(int irqno, void *dev_id)
        struct mtk_ir *ir = dev_id;
        u8  wid = 0;
        u32 i, j, val;
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        /*
         * Reset decoder state machine explicitly is required
index b8299c9a9744f50735760ecd3ed3161f52399206..5c2cd8d2d1555b610084fe486775047d3296e41d 100644 (file)
@@ -737,7 +737,7 @@ static void nvt_dump_rx_buf(struct nvt_dev *nvt)
  */
 static void nvt_process_rx_ir_data(struct nvt_dev *nvt)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        u8 sample;
        int i;
 
index e847bdad5c51ca3e65e8d7961f9a298a4c30f49c..22b0ec853acc0dfc8378b466ee8e32998244e893 100644 (file)
@@ -181,9 +181,10 @@ static inline void init_ir_raw_event_duration(struct ir_raw_event *ev,
                                              unsigned int pulse,
                                              u32 duration)
 {
-       init_ir_raw_event(ev);
-       ev->duration = duration;
-       ev->pulse = pulse;
+       *ev = (struct ir_raw_event) {
+               .duration = duration,
+               .pulse = pulse
+       };
 }
 
 /**
index e7948908e78c80194cf40b194054afcfb13df46a..e10b4644a442d7c91ce9aa0eeb1174e8ba414b15 100644 (file)
@@ -102,7 +102,7 @@ EXPORT_SYMBOL_GPL(ir_raw_event_store);
 int ir_raw_event_store_edge(struct rc_dev *dev, bool pulse)
 {
        ktime_t                 now;
-       DEFINE_IR_RAW_EVENT(ev);
+       struct ir_raw_event     ev = {};
 
        if (!dev->raw)
                return -EINVAL;
@@ -210,7 +210,7 @@ void ir_raw_event_set_idle(struct rc_dev *dev, bool idle)
        if (idle) {
                dev->raw->this_ev.timeout = true;
                ir_raw_event_store(dev, &dev->raw->this_ev);
-               init_ir_raw_event(&dev->raw->this_ev);
+               dev->raw->this_ev = (struct ir_raw_event) {};
        }
 
        if (dev->s_idle)
@@ -562,10 +562,10 @@ static void ir_raw_edge_handle(struct timer_list *t)
        spin_lock_irqsave(&dev->raw->edge_spinlock, flags);
        interval = ktime_sub(ktime_get(), dev->raw->last_event);
        if (ktime_to_ns(interval) >= dev->timeout) {
-               DEFINE_IR_RAW_EVENT(ev);
-
-               ev.timeout = true;
-               ev.duration = ktime_to_ns(interval);
+               struct ir_raw_event ev = {
+                       .timeout = true,
+                       .duration = ktime_to_ns(interval)
+               };
 
                ir_raw_event_store(dev, &ev);
        } else {
index 3822d9ebcb46cab913163420ababa9915ed928e8..b9f9325b8db1891b5018a5bcf5fdf519b17a6260 100644 (file)
@@ -103,7 +103,7 @@ static int loop_tx_ir(struct rc_dev *dev, unsigned *txbuf, unsigned count)
        struct loopback_dev *lodev = dev->priv;
        u32 rxmask;
        unsigned i;
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        if (lodev->txcarrier < lodev->rxcarriermin ||
            lodev->txcarrier > lodev->rxcarriermax) {
index 6bfc24885b5c4180776d87a042882a27cf777926..08c51ffd74a0e3f35ae14a090dadc78e5d57c161 100644 (file)
@@ -348,7 +348,7 @@ static u32 redrat3_us_to_len(u32 microsec)
 
 static void redrat3_process_ir_data(struct redrat3_dev *rr3)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        struct device *dev;
        unsigned int i, sig_size, single_len, offset, val;
        u32 mod_freq;
@@ -358,10 +358,10 @@ static void redrat3_process_ir_data(struct redrat3_dev *rr3)
        mod_freq = redrat3_val_to_mod_freq(&rr3->irdata);
        dev_dbg(dev, "Got mod_freq of %u\n", mod_freq);
        if (mod_freq && rr3->wideband) {
-               DEFINE_IR_RAW_EVENT(ev);
-
-               ev.carrier_report = 1;
-               ev.carrier = mod_freq;
+               struct ir_raw_event ev = {
+                       .carrier_report = 1,
+                       .carrier = mod_freq
+               };
 
                ir_raw_event_store(rr3->rc, &ev);
        }
index 8bf5637b3a69aca4a2fbf9ba4fe4f74c449fd233..ffe2c672d105c5dc7eb7c723b68ba5e2e8b84e1b 100644 (file)
@@ -273,7 +273,7 @@ static void frbwrite(unsigned int l, bool is_pulse)
 {
        /* simple noise filter */
        static unsigned int ptr, pulse, space;
-       DEFINE_IR_RAW_EVENT(ev);
+       struct ir_raw_event ev = {};
 
        if (ptr > 0 && is_pulse) {
                pulse += l;
@@ -472,10 +472,10 @@ static int hardware_init_port(void)
 
 static void serial_ir_timeout(struct timer_list *unused)
 {
-       DEFINE_IR_RAW_EVENT(ev);
-
-       ev.timeout = true;
-       ev.duration = serial_ir.rcdev->timeout;
+       struct ir_raw_event ev = {
+               .timeout = true,
+               .duration = serial_ir.rcdev->timeout
+       };
        ir_raw_event_store_with_filter(serial_ir.rcdev, &ev);
        ir_raw_event_handle(serial_ir.rcdev);
 }
index 9ee2c9196b4d81fd64c90937eccaac7a69252383..c8951650a36830aba8cc74a897896032e9f0a623 100644 (file)
@@ -96,7 +96,7 @@ static int sir_tx_ir(struct rc_dev *dev, unsigned int *tx_buf,
 
 static void add_read_queue(int flag, unsigned long val)
 {
-       DEFINE_IR_RAW_EVENT(ev);
+       struct ir_raw_event ev = {};
 
        pr_debug("add flag %d with val %lu\n", flag, val);
 
index c855b177103c85742c4adf9e33f81df74e6519e3..15de3ae166a2d96166c5716ecd66fed22763239e 100644 (file)
@@ -67,8 +67,7 @@ struct st_rc_device {
 
 static void st_rc_send_lirc_timeout(struct rc_dev *rdev)
 {
-       DEFINE_IR_RAW_EVENT(ev);
-       ev.timeout = true;
+       struct ir_raw_event ev = { .timeout = true, .duration = rdev->timeout };
        ir_raw_event_store(rdev, &ev);
 }
 
@@ -101,7 +100,7 @@ static irqreturn_t st_rc_rx_interrupt(int irq, void *data)
        struct st_rc_device *dev = data;
        int last_symbol = 0;
        u32 status, int_status;
-       DEFINE_IR_RAW_EVENT(ev);
+       struct ir_raw_event ev = {};
 
        if (dev->irq_wake)
                pm_wakeup_event(dev->dev, 0);
index c3e183aabfbe165fad9e350229ab419e16f6a49a..a490d26bd1703866d02fa608a442ef87bf6bfe3f 100644 (file)
@@ -130,7 +130,7 @@ static void sz_push(struct streamzap_ir *sz, struct ir_raw_event rawir)
 static void sz_push_full_pulse(struct streamzap_ir *sz,
                               unsigned char value)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        if (sz->idle) {
                int delta;
@@ -175,7 +175,7 @@ static void sz_push_half_pulse(struct streamzap_ir *sz,
 static void sz_push_full_space(struct streamzap_ir *sz,
                               unsigned char value)
 {
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        rawir.pulse = false;
        rawir.duration = ((int) value) * SZ_RESOLUTION;
@@ -249,10 +249,10 @@ static void streamzap_callback(struct urb *urb)
                        break;
                case FullSpace:
                        if (sz->buf_in[i] == SZ_TIMEOUT) {
-                               DEFINE_IR_RAW_EVENT(rawir);
-
-                               rawir.pulse = false;
-                               rawir.duration = sz->rdev->timeout;
+                               struct ir_raw_event rawir = {
+                                       .pulse = false,
+                                       .duration = sz->rdev->timeout
+                               };
                                sz->idle = true;
                                if (sz->timeout_enabled)
                                        sz_push(sz, rawir);
index f500cea228a95524dfaa959980c17212245210a5..307e44714ea048fbcde933100059dc58107f2e2b 100644 (file)
@@ -99,7 +99,7 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
        unsigned char dt;
        unsigned int cnt, rc;
        struct sunxi_ir *ir = dev_id;
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
 
        spin_lock(&ir->ir_lock);
 
index aafea3c5170b10d77168184f8c0f986067da82eb..8d4b56d057aeed76fcea50b7adfa6d4be441863c 100644 (file)
@@ -117,12 +117,10 @@ static void ttusbir_bulk_complete(struct urb *urb)
  */
 static void ttusbir_process_ir_data(struct ttusbir *tt, uint8_t *buf)
 {
-       struct ir_raw_event rawir;
+       struct ir_raw_event rawir = {};
        unsigned i, v, b;
        bool event = false;
 
-       init_ir_raw_event(&rawir);
-
        for (i = 0; i < 128; i++) {
                v = buf[i] & 0xfe;
                switch (v) {
index 851acba9b436c50d6498636891a2d7fc91bffb7b..0f07a2c384fafcbfe86774c4434f7655b13670d4 100644 (file)
@@ -322,11 +322,11 @@ wbcir_carrier_report(struct wbcir_data *data)
                        inb(data->ebase + WBCIR_REG_ECEIR_CNT_HI) << 8;
 
        if (counter > 0 && counter < 0xffff) {
-               DEFINE_IR_RAW_EVENT(ev);
-
-               ev.carrier_report = 1;
-               ev.carrier = DIV_ROUND_CLOSEST(counter * 1000000u,
-                                               data->pulse_duration);
+               struct ir_raw_event ev = {
+                       .carrier_report = 1,
+                       .carrier = DIV_ROUND_CLOSEST(counter * 1000000u,
+                                               data->pulse_duration)
+               };
 
                ir_raw_event_store(data->dev, &ev);
        }
@@ -362,7 +362,7 @@ static void
 wbcir_irq_rx(struct wbcir_data *data, struct pnp_dev *device)
 {
        u8 irdata;
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        unsigned duration;
 
        /* Since RXHDLEV is set, at least 8 bytes are in the FIFO */
index 832ed9f25784512e3b544f50ee228043b4a702dd..4befa920246ca43db4853bdc9a8d87d000bb7b29 100644 (file)
@@ -113,7 +113,7 @@ static int au8522_rc_andor(struct au0828_rc *ir, u16 reg, u8 mask, u8 value)
 static int au0828_get_key_au8522(struct au0828_rc *ir)
 {
        unsigned char buf[40];
-       DEFINE_IR_RAW_EVENT(rawir);
+       struct ir_raw_event rawir = {};
        int i, j, rc;
        int prv_bit, bit, width;
        bool first = true;
@@ -167,7 +167,6 @@ static int au0828_get_key_au8522(struct au0828_rc *ir)
                        if (first) {
                                first = false;
 
-                               init_ir_raw_event(&rawir);
                                rawir.pulse = true;
                                if (width > NEC_START_SPACE - 2 &&
                                    width < NEC_START_SPACE + 2) {
@@ -186,7 +185,6 @@ static int au0828_get_key_au8522(struct au0828_rc *ir)
                                ir_raw_event_store(ir->rc, &rawir);
                        }
 
-                       init_ir_raw_event(&rawir);
                        rawir.pulse = prv_bit ? false : true;
                        rawir.duration = AU8522_UNIT * width;
                        dprintk(16, "Storing %s with duration %d",
@@ -199,7 +197,6 @@ static int au0828_get_key_au8522(struct au0828_rc *ir)
                }
        }
 
-       init_ir_raw_event(&rawir);
        rawir.pulse = prv_bit ? false : true;
        rawir.duration = AU8522_UNIT * width;
        dprintk(16, "Storing end %s with duration %d",
index 33f76a347baadf313a39a4f414dc963a9633dd72..8a83b10e50e08a87409cce4ca79279c918654836 100644 (file)
@@ -1685,7 +1685,7 @@ static int rtl2832u_rc_query(struct dvb_usb_device *d)
 {
        int ret, i, len;
        struct rtl28xxu_dev *dev = d->priv;
-       struct ir_raw_event ev;
+       struct ir_raw_event ev = {};
        u8 buf[128];
        static const struct rtl28xxu_reg_val_mask refresh_tab[] = {
                {IR_RX_IF,               0x03, 0xff},
@@ -1751,8 +1751,6 @@ static int rtl2832u_rc_query(struct dvb_usb_device *d)
        }
 
        /* pass data to Kernel IR decoder */
-       init_ir_raw_event(&ev);
-
        for (i = 0; i < len; i++) {
                ev.pulse = buf[i] >> 7;
                ev.duration = 50800 * (buf[i] & 0x7f);
index 61571773a98d072f539bebd82ec2351953d6d2d6..c0cfbe16a8546ebffaaf45fd35c358905231d92a 100644 (file)
@@ -317,13 +317,6 @@ struct ir_raw_event {
        unsigned                carrier_report:1;
 };
 
-#define DEFINE_IR_RAW_EVENT(event) struct ir_raw_event event = {}
-
-static inline void init_ir_raw_event(struct ir_raw_event *ev)
-{
-       memset(ev, 0, sizeof(*ev));
-}
-
 #define IR_DEFAULT_TIMEOUT     MS_TO_NS(125)
 #define IR_MAX_DURATION         500000000      /* 500 ms */
 #define US_TO_NS(usec)         ((usec) * 1000)
@@ -344,9 +337,7 @@ int ir_raw_encode_carrier(enum rc_proto protocol);
 
 static inline void ir_raw_event_reset(struct rc_dev *dev)
 {
-       struct ir_raw_event ev = { .reset = true };
-
-       ir_raw_event_store(dev, &ev);
+       ir_raw_event_store(dev, &((struct ir_raw_event) { .reset = true }));
        dev->idle = true;
        ir_raw_event_handle(dev);
 }