cros_ec.c 870 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
/*
 * Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 *
 * Alternatively, this software may be distributed under the terms of the
 * GNU General Public License ("GPL") version 2 as published by the Free
 * Software Foundation.
 */

#include <common.h>
#include <cros_ec.h>
13 14 15
#include <dm.h>
#include <errno.h>

16 17 18 19
DECLARE_GLOBAL_DATA_PTR;

struct cros_ec_dev *board_get_cros_ec_dev(void)
{
20 21 22 23 24 25 26 27
	struct udevice *dev;
	int ret;

	ret = uclass_get_device(UCLASS_CROS_EC, 0, &dev);
	if (ret) {
		debug("%s: Error %d\n", __func__, ret);
		return NULL;
	}
28
	return dev_get_uclass_priv(dev);
29 30 31 32
}

int cros_ec_get_error(void)
{
33 34 35 36 37 38 39 40
	struct udevice *dev;
	int ret;

	ret = uclass_get_device(UCLASS_CROS_EC, 0, &dev);
	if (ret && ret != -ENODEV)
		return ret;

	return 0;
41
}