lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=Abkovmq5nNGTgas2tu516y0pdrYZHov3m0onw@mail.gmail.com>
Date:	Tue, 8 Mar 2011 15:41:04 +0300
From:	Ilya Averyanov <esta1ien@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: Sound on developer board Mini2440

In the new kernels for some reason the sound does not work in dev kit
[www.friendlyarm.net]

Tried to understand, but something does not work.

static struct platform_driver s3c24xx_uda134x_driver = {
	.probe  = s3c24xx_uda134x_probe,
	.remove = s3c24xx_uda134x_remove,
	.driver = {
		.name = "s3c24xx_uda134x",
		.owner = THIS_MODULE,
	},
};

static int __init s3c24xx_uda134x_init(void)
{
	return platform_driver_register(&s3c24xx_uda134x_driver);
}

Here everything is ok. s3c24xx_uda134x_probe called. Comes to
snd_soc_instantiate_card (which in linux-2.6 \ sound \ sos \
soc-core.c)
But it comes up here

for (i = 0; i < card->num_links; i++)
		soc_bind_dai_link(card, i);

//soc_bind_dai_link
....
find_platform:
	/* do we already have the CODEC DAI for this link ? */
	if (rtd->platform) {
		goto out;
	}
	/* no, then find CPU DAI from registered DAIs*/
	list_for_each_entry(platform, &platform_list, list) {
		if (!strcmp(platform->name, dai_link->platform_name)) {
			rtd->platform = platform;
			goto out;
		}
	}
...

And here's the problem. platform_list empty. began to look like
filled, found the file linux-2.6 \ sound \ soc \ samsung \ dma.c there

.....
static int __devinit samsung_asoc_platform_probe (struct platform_device * pdev)
{
/ / This function is no longer executes.
	return snd_soc_register_platform(&pdev->dev, &samsung_asoc_platform);
}

static int __devexit samsung_asoc_platform_remove(struct platform_device *pdev)
{
	snd_soc_unregister_platform(&pdev->dev);
	return 0;
}

static struct platform_driver asoc_dma_driver = {
	.driver = {
		.name = "samsung-audio",
		.owner = THIS_MODULE,
	},

	.probe = samsung_asoc_platform_probe,
	.remove = __devexit_p(samsung_asoc_platform_remove),
};

static int __init samsung_asoc_init(void)
{
//But this is performed
	return platform_driver_register(&asoc_dma_driver);
}
module_init(samsung_asoc_init);
....

Where to look the problem?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ