-static int mbox_test_probe(struct platform_device *pdev){
- struct mbox_test_device *tdev;
- struct resource *res;
- resource_size_t size;
- int ret;
-
- tdev = devm_kzalloc(&pdev->dev, sizeof(*tdev), GFP_KERNEL);
- if (!tdev)
- return -ENOMEM;
-
- /* It's okay for MMIO to be NULL */
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- tdev->tx_mmio = devm_ioremap_resource(&pdev->dev, res);
- if (PTR_ERR(tdev->tx_mmio) == -EBUSY) {
- /* if reserved area in SRAM, try just ioremap */
- size = resource_size(res);
- tdev->tx_mmio = devm_ioremap(&pdev->dev, res->start, size);
- } else if (IS_ERR(tdev->tx_mmio)) {
- tdev->tx_mmio = NULL;
- }
-
- /* If specified, second reg entry is Rx MMIO */
- res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
- tdev->rx_mmio = devm_ioremap_resource(&pdev->dev, res);
- if (PTR_ERR(tdev->rx_mmio) == -EBUSY) {
- size = resource_size(res);
- tdev->rx_mmio = devm_ioremap(&pdev->dev, res->start, size);
- } else if (IS_ERR(tdev->rx_mmio)) {
- tdev->rx_mmio = tdev->tx_mmio;
- }
-
- tdev->tx_channel = mbox_test_request_channel(pdev, "tx");
- tdev->rx_channel = mbox_test_request_channel(pdev, "rx");
-
- if (!tdev->tx_channel && !tdev->rx_channel)
- return -EPROBE_DEFER;
-
- /* If Rx is not specified but has Rx MMIO, then Rx = Tx */
- if (!tdev->rx_channel && (tdev->rx_mmio != tdev->tx_mmio))
- tdev->rx_channel = tdev->tx_channel;
-
- tdev->dev = &pdev->dev;
- platform_set_drvdata(pdev, tdev);
-
- spin_lock_init(&tdev->lock);
-
- if (tdev->rx_channel)
- {
- tdev->rx_buffer = devm_kzalloc(&pdev->dev,
- MBOX_MAX_MSG_LEN, GFP_KERNEL);
- if (!tdev->rx_buffer)
- return -ENOMEM;
- }
-
- ret = mbox_test_add_debugfs(pdev, tdev);
- if (ret)
- return ret;
-
- dev_info(&pdev->dev, "Successfully registered\n");
-
- return 0;
+static int mbox_test_probe(struct platform_device *pdev)
+{
+ struct mbox_test_device *tdev;
+ struct resource *res;
+ resource_size_t size;
+ int ret;
+
+ tdev = devm_kzalloc(&pdev->dev, sizeof(*tdev), GFP_KERNEL);
+ if (!tdev)
+ return -ENOMEM;
+
+ /* It's okay for MMIO to be NULL */
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ tdev->tx_mmio = devm_ioremap_resource(&pdev->dev, res);
+ if (PTR_ERR(tdev->tx_mmio) == -EBUSY) {
+ /* if reserved area in SRAM, try just ioremap */
+ size = resource_size(res);
+ tdev->tx_mmio = devm_ioremap(&pdev->dev, res->start, size);
+ } else if (IS_ERR(tdev->tx_mmio)) {
+ tdev->tx_mmio = NULL;
+ }
+
+ /* If specified, second reg entry is Rx MMIO */
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+ tdev->rx_mmio = devm_ioremap_resource(&pdev->dev, res);
+ if (PTR_ERR(tdev->rx_mmio) == -EBUSY) {
+ size = resource_size(res);
+ tdev->rx_mmio = devm_ioremap(&pdev->dev, res->start, size);
+ } else if (IS_ERR(tdev->rx_mmio)) {
+ tdev->rx_mmio = tdev->tx_mmio;
+ }
+
+ tdev->tx_channel = mbox_test_request_channel(pdev, "tx");
+ tdev->rx_channel = mbox_test_request_channel(pdev, "rx");
+
+ if (!tdev->tx_channel && !tdev->rx_channel)
+ return -EPROBE_DEFER;
+
+ /* If Rx is not specified but has Rx MMIO, then Rx = Tx */
+ if (!tdev->rx_channel && (tdev->rx_mmio != tdev->tx_mmio))
+ tdev->rx_channel = tdev->tx_channel;
+
+ tdev->dev = &pdev->dev;
+ platform_set_drvdata(pdev, tdev);
+
+ spin_lock_init(&tdev->lock);
+
+ if (tdev->rx_channel) {
+ tdev->rx_buffer = devm_kzalloc(&pdev->dev,
+ MBOX_MAX_MSG_LEN, GFP_KERNEL);
+ if (!tdev->rx_buffer)
+ return -ENOMEM;
+ }
+
+ ret = mbox_test_add_debugfs(pdev, tdev);
+ if (ret)
+ return ret;
+
+ dev_info(&pdev->dev, "Successfully registered\n");
+
+ return 0;