static int xlnx_spdif_probe(struct platform_device *pdev)
 {
        int ret;
-       struct resource *res;
        struct snd_soc_dai_driver *dai_drv;
        struct spdif_dev_data *ctx;
 
        if (ctx->mode) {
                dai_drv = &xlnx_spdif_tx_dai;
        } else {
-               res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-               if (!res) {
-                       dev_err(dev, "No IRQ resource found\n");
-                       ret = -ENODEV;
+               ret = platform_get_irq(pdev, 0);
+               if (ret < 0)
                        goto clk_err;
-               }
-               ret = devm_request_irq(dev, res->start,
+               ret = devm_request_irq(dev, ret,
                                       xlnx_spdifrx_irq_handler,
                                       0, "XLNX_SPDIF_RX", ctx);
                if (ret) {