drm/komeda: Build komeda to be a platform module
authorjames qian wang (Arm Technology China) <james.qian.wang@arm.com>
Thu, 3 Jan 2019 11:40:21 +0000 (11:40 +0000)
committerLiviu Dudau <Liviu.Dudau@arm.com>
Mon, 14 Jan 2019 11:09:23 +0000 (11:09 +0000)
commit26bd43a759963981ad685b3ed917abd9c41c65f8
treedd3e8bc4bba777e8d22b9e2dfa3ef8c20764a608
parentdf766e4a419c77283485931070e0692f64aebf8a
drm/komeda: Build komeda to be a platform module

Implement a simple wrapper for platform module to build komeda to module,
Also add a very simple D71 layer code to show how to discover a product.
Komeda driver direct bind the product ENTRY function xxx_identity to DT
compatible name like:

d71_product = {
.product_id = MALIDP_D71_PRODUCT_ID,
.identify = d71_identify,
},

const struct of_device_id komeda_of_match[] = {
{ .compatible = "arm,mali-d71", .data = &d71_product, },
{},
};

Then when linux found a matched DT node and call driver to probe, we can
easily get the of data, and call into the product to do the identify:

komeda_bind()
{
    ...
    product = of_device_get_match_data(dev);

    product->identify();
    ...
}

Changes in v4:
- Replaced kzalloc with devm_kzalloc

Changes in v3:
- Fixed style problem found by checkpatch.pl --strict.

Signed-off-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
drivers/gpu/drm/arm/display/include/malidp_io.h [new file with mode: 0644]
drivers/gpu/drm/arm/display/komeda/Makefile
drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c [new file with mode: 0644]
drivers/gpu/drm/arm/display/komeda/komeda_dev.h
drivers/gpu/drm/arm/display/komeda/komeda_drv.c [new file with mode: 0644]